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>