instance method · added in Ruby 4.0
Fiber::Scheduler#yield
yield
scheduler.c
View on GitHub ↗
VALUE
rb_fiber_scheduler_yield(VALUE scheduler)
{
// First try to call the scheduler's yield method, if it exists:
VALUE result = rb_check_funcall(scheduler, id_yield, 0, NULL);
if (!UNDEF_P(result)) return result;
// Otherwise, we can emulate yield by sleeping for 0 seconds:
return rb_fiber_scheduler_kernel_sleep(scheduler, RB_INT2NUM(0));
}
Yield to the scheduler, to be resumed on the next scheduling cycle.
Ruby version changes
-
4.0
-
Introduce
Fiber::Scheduler#yieldto allow the fiber scheduler to continue processing when signal exceptions are disabled. [Bug #21633]
-