org.jruby.Ruby.newFiberError()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(126)

本文整理了Java中org.jruby.Ruby.newFiberError方法的一些代码示例,展示了Ruby.newFiberError的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.newFiberError方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:newFiberError

Ruby.newFiberError介绍

暂无

代码示例

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

@JRubyMethod(meta = true)
public static IRubyObject yield(ThreadContext context, IRubyObject recv, IRubyObject value) {
  Ruby runtime = context.runtime;
  
  FiberData currentFiberData = context.getFiber().data;
  
  if (currentFiberData.parent == null) throw runtime.newFiberError("can't yield from root fiber");
  if (currentFiberData.prev == null) throw runtime.newFiberError("BUG: yield occured with null previous fiber. Report this at http://bugs.jruby.org");
  if (currentFiberData.queue.isShutdown()) throw runtime.newFiberError("dead fiber yielded");
  
  FiberData prevFiberData = currentFiberData.prev.data;
  return exchangeWithFiber(context, currentFiberData, prevFiberData, value);
}

代码示例来源:origin: org.jruby/jruby-complete

@JRubyMethod(meta = true)
public static IRubyObject yield(ThreadContext context, IRubyObject recv, IRubyObject value) {
  Ruby runtime = context.runtime;
  
  FiberData currentFiberData = context.getFiber().data;
  
  if (currentFiberData.parent == null) throw runtime.newFiberError("can't yield from root fiber");
  if (currentFiberData.prev == null) throw runtime.newFiberError("BUG: yield occurred with null previous fiber. Report this at http://bugs.jruby.org");
  if (currentFiberData.queue.isShutdown()) throw runtime.newFiberError("dead fiber yielded");
  
  FiberData prevFiberData = currentFiberData.prev.data;
  return exchangeWithFiber(context, currentFiberData, prevFiberData, value);
}

代码示例来源:origin: org.jruby/jruby-core

@JRubyMethod(meta = true)
public static IRubyObject yield(ThreadContext context, IRubyObject recv, IRubyObject value) {
  Ruby runtime = context.runtime;
  
  FiberData currentFiberData = context.getFiber().data;
  
  if (currentFiberData.parent == null) throw runtime.newFiberError("can't yield from root fiber");
  if (currentFiberData.prev == null) throw runtime.newFiberError("BUG: yield occurred with null previous fiber. Report this at http://bugs.jruby.org");
  if (currentFiberData.queue.isShutdown()) throw runtime.newFiberError("dead fiber yielded");
  
  FiberData prevFiberData = currentFiberData.prev.data;
  return exchangeWithFiber(context, currentFiberData, prevFiberData, value);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

@JRubyMethod(meta = true)
public static IRubyObject yield(ThreadContext context, IRubyObject recv, IRubyObject value) {
  Ruby runtime = context.runtime;
  
  FiberData currentFiberData = context.getFiber().data;
  
  if (currentFiberData.parent == null) throw runtime.newFiberError("can't yield from root fiber");
  
  FiberData prevFiberData = currentFiberData.prev.data;
  
  prevFiberData.queue.push(context, value);
  
  IRubyObject result = currentFiberData.queue.pop(context);
  if (result == NEVER) result = context.nil;
  return result;
}

代码示例来源:origin: org.jruby/jruby-core

Ruby runtime = context.runtime;
if (data.prev != null || data.transferred) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

Ruby runtime = context.runtime;
if (data.prev != null || data.transferred) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: org.jruby/jruby-complete

Ruby runtime = context.runtime;
if (data.prev != null) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: org.jruby/jruby-complete

Ruby runtime = context.runtime;
if (data.prev != null || data.transferred) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

Ruby runtime = context.runtime;
if (data.prev != null || data.transferred) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: org.jruby/jruby-core

Ruby runtime = context.runtime;
if (data.prev != null) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

Ruby runtime = context.runtime;
if (data.prev != null) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

Ruby runtime = context.runtime;
if (data.prev != null) throw runtime.newFiberError("double resume");
if (!alive()) throw runtime.newFiberError("dead fiber called");
if (data.parent != context.getFiberCurrentThread()) throw runtime.newFiberError("fiber called across threads");

相关文章

Ruby类方法