From: "Eregon (Benoit Daloze)" Date: 2022-03-29T11:03:38+00:00 Subject: [ruby-core:108105] [Ruby master Feature#18655] Merge `IO#wait_readable` and `IO#wait_writable` into core Issue #18655 has been updated by Eregon (Benoit Daloze). @larskanis That's a good point (it seems a bug). And `IO#wait` also evolved more than `IO#wait_{readable,writable,priority}` IIRC. It doesn't seem a very stable interface yet, and it's hard to use (`STDOUT.wait(IO::READABLE | IO::WRITABLE)` doesn't work as expected, it hangs) All of these 4 methods end up in `rb_io_wait()` I think, but with a fair amount of code to wrap it. So I think it'd be fair to leave IO#wait out of core for now then based on these reasons. I think it'd make sense to include `wait_priority`, so the 3 `wait_*` with simple semantics are kept together. ---------------------------------------- Feature #18655: Merge `IO#wait_readable` and `IO#wait_writable` into core https://bugs.ruby-lang.org/issues/18655#change-97069 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal ---------------------------------------- Extracted from [Feature #18566]. The decision was made to consider the methods from `io-wait` and `io-nonblock` one by one. I think `wait_readable` and `wait_writeable` should be fairly non-controversial. They're quite essential to use `IO#read_nonblock` and `IO#write_nonblock` effectively. Proposed patch: https://github.com/ruby/ruby/pull/5694 NB: if we only merge some methods, then `io/wait` must test which methods it needs to define or not. For now I use a `if RUBY_VERSION >= "3.2"` check in `extconf.rb`, but there might be a better approach. -- https://bugs.ruby-lang.org/ Unsubscribe: