From: Eric Wong <normalperson@...>
Date: 2018-08-09T08:34:57+00:00
Subject: [ruby-core:88378] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid

samuel@oriontransfer.net wrote:
> Also, do you think you can make Ruby's native timeout safe? My
> understanding is that it was a bit unpredictable. With
> `async`, the timeout will only affect IO operations, so it is
> predictable (since you already expect IO operations to fail
> sometimes).

Right, interrupts make it unpredictable.  We can control
interrupt timing with Thread.handle_interrupts, but the API is
verbose.  Moving Timeout into the VM would allow an
interrupt-free implementation; so any sleeping calls
(Queue#pop, IO.select, waitpid,...) will all be aware of
timeouts and not rely on interrupts.

Public API design would require a separate discussion;
but first I want to be able to move Timeout into the VM.

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>