
Issue #20413 has been updated by Eregon (Benoit Daloze). Changing `rb_fiber_new` sounds incompatible: https://github.com/ruby/ruby/pull/10481#issuecomment-2041432435 Changing Enumerator fibers would be safer, but probably still incompatible. What is the use-case here, to use an Enumerator backed by a Fiber (so `next`/`peek`) in a Fiber scheduler? ---------------------------------------- Bug #20413: Enumerator can block fiber scheduler. https://bugs.ruby-lang.org/issues/20413#change-107838 * Author: ioquatix (Samuel Williams) * Status: Closed * Assignee: ioquatix (Samuel Williams) * Backport: 3.0: UNKNOWN, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED ---------------------------------------- Using `Enumerator` in the event loop can cause problems as the fiber created by `rb_fiber_new` is blocking by default. It should be non-blocking. See <https://github.com/ruby/ruby/pull/10481> for the fix. -- https://bugs.ruby-lang.org/