[#102652] [Ruby master Bug#17664] Behavior of sockets changed in Ruby 3.0 to non-blocking — ciconia@...
Issue #17664 has been reported by ciconia (Sharon Rosner).
23 messages
2021/02/28
[ruby-core:102464] [Ruby master Feature#17470] Introduce non-blocking `Timeout.timeout`
From:
samuel@...
Date:
2021-02-11 23:23:56 UTC
List:
ruby-core #102464
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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>