Method: Fiber.blocking?
- Defined in:
- cont.c
.blocking? ⇒ false, 1
Returns false if the current fiber is non-blocking. Fiber is non-blocking if it was created via passing blocking: false to Fiber.new, or via Fiber.schedule.
If the current Fiber is blocking, the method returns 1. Future developments may allow for situations where larger integers could be returned.
Note that, even if the method returns false, Fiber behaves differently only if Fiber.scheduler is set in the current thread.
See the “Non-blocking fibers” section in class docs for details.
2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 |
# File 'cont.c', line 2807 static VALUE rb_fiber_s_blocking_p(VALUE klass) { rb_thread_t *thread = GET_THREAD(); unsigned blocking = thread->blocking; if (blocking == 0) return Qfalse; return INT2NUM(blocking); } |