From: samuel@... Date: 2021-02-12T02:05:04+00:00 Subject: [ruby-core:102466] [Ruby master Feature#17470] Introduce non-blocking `Timeout.timeout` Issue #17470 has been updated by ioquatix (Samuel Williams). @jsc I tried your example but it seems to work fine? ``` def test_timeout_on_main_fiber message = nil thread = Thread.new do scheduler = Scheduler.new Fiber.set_scheduler scheduler Timeout.timeout(1) do message = MESSAGE end end thread.join assert_equal MESSAGE, message end ``` ---------------------------------------- Feature #17470: Introduce non-blocking `Timeout.timeout` https://bugs.ruby-lang.org/issues/17470#change-90354 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal ---------------------------------------- In this bug report, user complained that `Timeout.timeout` does not work correctly with scheduler: https://github.com/socketry/async-io/issues/43 We should introduce non-blocking timeout. I propose the following: ``` rb_fiber_scheduler_with_timeout(VALUE scheduler, VALUE timeout, VALUE block) ``` We can directly modify `Timeout.timeout` to invoke this hook. -- https://bugs.ruby-lang.org/ Unsubscribe: