From: msuchanek@... Date: 2020-02-03T20:24:25+00:00 Subject: [ruby-core:97054] [Ruby master Feature#16597] missing poll() Issue #16597 has been updated by michals (Michal Such�nek). Reading is generally covered with select(). You call select() and the fd appears as readable. If there is an error you get it on read(). It is write() that does not have sane semantic without poll(). ---------------------------------------- Feature #16597: missing poll() https://bugs.ruby-lang.org/issues/16597#change-84147 * Author: michals (Michal Such�nek) * Status: Open * Priority: Normal ---------------------------------------- When using a socket or a pipe for writing select() cannot determine that the socket is closed. It tells you that it is ready to write but if you don't have data to write you cannot tell that it is in fact closed. ruby internally uses poll() which can tell when a write socket is closed (without attempting a write()) but presents the broken select() interface. ---Files-------------------------------- 0001-io-add-additional-argument-to-fd_select-calls.patch (9.27 KB) 0002-select_internal-add-additional-argument-for-poll-err.patch (3.64 KB) 0003-io-make-use-of-poll-POLLERR-flag.patch (2.18 KB) 0004-io-add-select_with_poll-class-method-when-USE_POLL.patch (2.61 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: