Issue #11056 has been updated by Eric Wong. File io_wait_readable-no-nread-experimental.patch added v2 patch with experimental IO#wait_readable(.., wait_only: bool) to avoid FIONREAD. ---------------------------------------- Feature #11056: [PATCH] lib/net/*: use io/wait methods instead of IO.select https://bugs.ruby-lang.org/issues/11056#change-52110 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Eric Wong ---------------------------------------- lib/net/*: use io/wait methods instead of IO.select io/wait is expected to work on any platform where sockets are supported. io/wait methods uses fewer allocations and uses ppoll internally under Linux for better performance on high-numbered FDs. [ruby-core:35572] describes the performance advantage of ppoll on high-numbered FDs. * lib/net/protocol.rb (rbuf_fill): use IO#wait_*able * lib/net/http/generic_request.rb (wait_for_continue): ditto I'll commit in a few days unless there are objections. ---Files-------------------------------- 0001-lib-net-use-io-wait-methods-instead-of-IO.select.patch (2.3 KB) io_wait_readable-no-nread-experimental.patch (5.03 KB) -- https://bugs.ruby-lang.org/