diff --git a/cont.c b/cont.c index 4d1b9f0b7a..9132ef96eb 100644 --- a/cont.c +++ b/cont.c @@ -2810,6 +2810,8 @@ fiber_blocking_yield(VALUE fiber_value) rb_fiber_t *fiber = fiber_ptr(fiber_value); rb_thread_t * volatile th = fiber->cont.saved_ec.thread_ptr; + VM_ASSERT(fiber->blocking == 0); + // fiber->blocking is `unsigned int : 1`, so we use it as a boolean: fiber->blocking = 1;