From: samuel@... Date: 2021-02-11T23:23:56+00:00 Subject: [ruby-core:102464] [Ruby master Feature#17470] Introduce non-blocking `Timeout.timeout` Issue #17470 has been updated by ioquatix (Samuel Williams). @eregon without preemptive scheduling it won't be possible. There are other cases where the GVL is not released, e.g. the sqlite3 gem. In the case of the scheduler, `Timeout.timeout` is completely broken, so this is an improvement any way you cut it. ---------------------------------------- Feature #17470: Introduce non-blocking `Timeout.timeout` https://bugs.ruby-lang.org/issues/17470#change-90352 * 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: