https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112020-01-27T21:26:15ZRuby Issue Tracking SystemRuby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=840942020-01-27T21:26:15Zmichals (Michal Suchánek)
<ul></ul><p>ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=840972020-01-28T02:03:20Zakr (Akira Tanaka)akr@fsij.org
<ul></ul><p>As far as I know, it is impossible for TCP because shutdown(SHUT_RD) and close() doesn't notify it to the other end of the connection if no unread data. (Please point out me if I'm wrong.)<br>
poll() doesn't help for this problem with TCP.</p>
<p>(An approximation is getsockopt(TCP_INFO) for Linux which can be used to investigate TCP state of a connection.)</p>
<p>I'm not sure for pipe but kernel knows that the other end is closed or not.</p>
<p>What the event flag of poll() you want to use?<br>
<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html" class="external">https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html</a></p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841002020-01-28T21:36:53Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>akr (Akira Tanaka) wrote:</p>
<blockquote>
<p>As far as I know, it is impossible for TCP because shutdown(SHUT_RD) and close() doesn't notify it to the other end of the connection if no unread data. (Please point out me if I'm wrong.)<br>
poll() doesn't help for this problem with TCP.</p>
<p>(An approximation is getsockopt(TCP_INFO) for Linux which can be used to investigate TCP state of a connection.)</p>
<p>I'm not sure for pipe but kernel knows that the other end is closed or not.</p>
<p>What the event flag of poll() you want to use?<br>
<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html" class="external">https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html</a></p>
</blockquote>
<p>If you want to know a connection is closed, you need to check FIN or RST packet of TCP.<br>
They are sent by shutdown(SHUT_WR) or close (hard close) in socket.<br>
To detect that, it needs to use poll with POLLHUP flag.</p>
<p>Note that it also needs to clear internal buffer before calling poll.<br>
On Linux it can use recv with MSG_TRUNC, but on other platform it needs it needs to read all data already received.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841462020-02-03T20:14:12Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0001-io-add-additional-argument-to-fd_select-calls.patch</i> added</li><li><strong>File</strong> <i>0002-select_internal-add-additional-argument-for-poll-err.patch</i> added</li><li><strong>File</strong> <i>0003-io-make-use-of-poll-POLLERR-flag.patch</i> added</li><li><strong>File</strong> <i>0004-io-add-select_with_poll-class-method-when-USE_POLL.patch</i> added</li></ul><p>Attaching RFC patchset.</p>
<p>It is not awesome but it at least does not crash and burn.</p>
<p>Tests pass which shows they could use some refinement.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841472020-02-03T20:24:24Zmichals (Michal Suchánek)
<ul></ul><p>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().</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841482020-02-03T22:25:03Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0005-io-additional-cleanup-for-select_with_poll.patch</i> added</li></ul><p>Additional cleanup patch that removes the extra argument from select() return value and superfluous argument.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841492020-02-04T00:26:07Zakr (Akira Tanaka)akr@fsij.org
<ul></ul><p>Is there a test?</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841562020-02-04T16:05:45Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>test.rb</i> added</li></ul><p>This one, and it does not work. There is another place that needs to be patched.</p>
<p>LD_LIBRARY_PATH=. ./ruby -I. -Ilib -I.ext/common -I.ext/x86_64-linux/ test.rb<br>
<code>select: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe], []] poll: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe], [], [:@inpipe, :@outpipe, :@errpipe]] select: [[], [:@inpipe], []] poll: [[], [:@inpipe], [], [:@inpipe, :@outpipe, :@errpipe]]</code></p>
<p>expected:</p>
<p><code>select: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe], []] poll: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe], [], [:@inpipe, :@outpipe, :@errpipe]] select: [[], [:@inpipe], []] poll: [[], [:@inpipe], [], []]</code></p>
<p>Also while make test passes make check no longer does. It needs to be investigated if the test needs to be updated or the changed return value is not used anyway and can be changed back.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841572020-02-04T18:45:29Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0001-io-add-additional-argument-to-fd_select-calls.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841582020-02-04T18:45:33Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0002-select_internal-add-additional-argument-for-poll-err.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841592020-02-04T18:45:36Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0003-io-make-use-of-poll-POLLERR-flag.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841602020-02-04T18:45:40Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0004-io-add-select_with_poll-class-method-when-USE_POLL.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841612020-02-04T18:45:46Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0005-io-additional-cleanup-for-select_with_poll.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841622020-02-04T18:51:07Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0001-io-add-additional-argument-to-fd_select-calls.patch</i> added</li><li><strong>File</strong> <i>0002-select_internal-add-additional-argument-for-poll-err.patch</i> added</li><li><strong>File</strong> <i>0003-io-make-use-of-poll-POLLERR-flag.patch</i> added</li><li><strong>File</strong> <i>0004-io-add-select_with_poll-class-method-when-USE_POLL.patch</i> added</li><li><strong>File</strong> <i>0005-io-document-IO.select_with_poll.patch</i> added</li><li><strong>File</strong> <i>0006-thread-use-poll-in-rb_fd_select.patch</i> added</li></ul><p>Updated patchset. Passes basic test but not TestParallel. For some reason it segfaults.</p>
<p>LD_LIBRARY_PATH=. ./ruby -I. -Ilib -I.ext/common -I.ext/x86_64-linux/ test.rb<br>
<code>select: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe, :@outpipe, :@errpipe], [:@inpipe, :@outpipe, :@errpipe]] poll: [[:@inpipe, :@outpipe, :@errpipe], [:@inpipe, :@outpipe, :@errpipe], [:@inpipe, :@outpipe, :@errpipe], [:@inpipe, :@outpipe, :@errpipe]] select: [[], [:@inpipe], []] poll: [[], [:@inpipe], [], []] </code></p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841632020-02-05T02:41:33Zakr (Akira Tanaka)akr@fsij.org
<ul></ul><p>michals (Michal Suchánek) wrote in <a href="#note-8">#note-8</a>:</p>
<blockquote>
<p>This one, and it does not work. There is another place that needs to be patched.</p>
</blockquote>
<p>Is there a test for socket?<br>
I have interest in TCP.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841692020-02-05T22:04:09Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>test.rb</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841702020-02-05T22:04:13Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0001-io-add-additional-argument-to-fd_select-calls.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841712020-02-05T22:04:16Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0002-select_internal-add-additional-argument-for-poll-err.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841722020-02-05T22:04:19Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0003-io-make-use-of-poll-POLLERR-flag.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841732020-02-05T22:04:21Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0004-io-add-select_with_poll-class-method-when-USE_POLL.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841742020-02-05T22:04:25Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0005-io-document-IO.select_with_poll.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841752020-02-05T22:04:28Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0006-thread-use-poll-in-rb_fd_select.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841762020-02-05T22:08:54Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>test.rb</i> added</li><li><strong>File</strong> <i>0001-io-move-poll-defines-to-internal-io.h.patch</i> added</li><li><strong>File</strong> <i>0002-io-add-additional-argument-to-fd_select-calls.patch</i> added</li><li><strong>File</strong> <i>0003-select_internal-add-additional-argument-for-poll-err.patch</i> added</li><li><strong>File</strong> <i>0004-thread-use-poll-in-rb_fd_select.patch</i> added</li><li><strong>File</strong> <i>0005-io-make-use-of-poll-POLLERR-flag.patch</i> added</li><li><strong>File</strong> <i>0006-io-add-select_with_poll-class-method-when-USE_POLL.patch</i> added</li><li><strong>File</strong> <i>0007-io-document-IO.select_with_poll.patch</i> added</li></ul><p>I use this with local (UNIX) sockets but did not backport the current patchset to my production ruby version yet. I did not test TCP sockets.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841772020-02-05T22:31:29Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <a href="/attachments/8286">tcp_test.rb</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8286/tcp_test.rb">tcp_test.rb</a> added</li></ul><p>There is some issue with TCP sockets:</p>
<p>LD_LIBRARY_PATH=. ./ruby -I. -Ilib -I.ext/common -I.ext/x86_64-linux/ tcp_test.rb<br>
<code>select: [[:@sock], [:@sock], []] poll: [[:@sock], [:@sock], [], []] select: [[], [:@sock], []] poll: [[], [:@sock], [], []]</code></p>
<p>There is certainly difference between the socket open or closed but it does not appear in the error set. I suspect the problem is that you get socket reported as closed only when receiving RST because FIN just means no more data is supposed to go in that direction. But when a side closes the socket it sends FIN and you only get RST as response to data or bookkeeping packet. TCP keepalive option does produce bookkeeping packets regularly which should allow you to detect closed sockets eventually.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841972020-02-07T16:00:55Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch</i> added</li></ul><p>Adding test fixup. With this tests pass on master/2.6/2.5</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=841982020-02-07T16:02:01Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <a href="/attachments/8299">unix_test.rb</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8299/unix_test.rb">unix_test.rb</a> added</li></ul><p>Test with unix socket</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=842142020-02-10T03:30:02Zakr (Akira Tanaka)akr@fsij.org
<ul></ul><p>michals (Michal Suchánek) wrote in <a href="#note-26">#note-26</a>:</p>
<blockquote>
<p>Test with unix socket</p>
</blockquote>
<p>Test needs expected results.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=842492020-02-12T20:34:49Zmichals (Michal Suchánek)
<ul></ul><p>This is the current result:</p>
<p><code>$ ruby unix_test.rb select: [[:@sock], [:@sock], [:@sock]] poll: [[:@sock], [:@sock], [:@sock], [:@sock]] select: [[], [:@sock], []] poll: [[], [:@sock], [], []]</code></p>
<p>If this is to be expected or the emulation should be adjusted might need some discussion.</p>
<p>I expect that using select without emulation would give<br>
<code>select: [[:@sock], [], []]</code><br>
in the first line.</p>
<p>To be more specific: select() indicates error indirectly by returning the fd as ready to read if asked for reading. This completely fails if the user did not ask for reading on the socket and fails to distinguish readiness to read from error. Returning the socket as ready to for anything asked when error is reported from poll() somewhat emulates the select() behavior extending it to write sockets. The return value necessarily differs from that of select() to do so. The tests can be made conditional on USE_POLL but ultimately this will lead to different behavior on different systems.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=842502020-02-12T20:42:57Zmichals (Michal Suchánek)
<ul></ul><p>and BTW is it possible to get notifications from this bugtracker? From my POV it just silently sinks data.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=843292020-02-20T17:18:00Zmichals (Michal Suchánek)
<ul></ul><p>An extension that makes poll() features available and does not require integration into ruby core is eventmachine.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=843692020-02-24T21:41:31Zmichals (Michal Suchánek)
<ul></ul><p>There is a bug with handling POLLNVAL in the new code.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=843762020-02-25T16:13:07Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>test_close.rb</i> added</li><li><strong>File</strong> <i>0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</i> added</li></ul><p>Attaching test and fix.</p>
<p>This fixes the problem with not raising exception but now my patched interpreter tends to crash. Need to investigate.</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=844172020-02-27T21:56:02Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=844182020-02-27T21:56:29Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</i> added</li></ul><p>Updated patch</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=845722020-03-10T15:53:20Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <i>0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch</i> added</li><li><strong>File</strong> <i>0011-tests-add-a-few-more-tests-for-select.patch</i> added</li></ul><p>Additional patches:</p>
<ul>
<li>Do no throw exception form poll() because it can tell the user which exact descriptor is bad which is lost in the exception</li>
<li>Add tests</li>
</ul>
<p>Also in <a href="https://github.com/hramrach/ruby" class="external">https://github.com/hramrach/ruby</a></p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858732020-05-29T17:47:47Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>test.rb</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858742020-05-29T17:47:52Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0001-io-move-poll-defines-to-internal-io.h.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858752020-05-29T17:47:59Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0002-io-add-additional-argument-to-fd_select-calls.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858762020-05-29T17:48:04Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0003-select_internal-add-additional-argument-for-poll-err.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858772020-05-29T17:48:09Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0004-thread-use-poll-in-rb_fd_select.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858782020-05-29T17:48:15Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0005-io-make-use-of-poll-POLLERR-flag.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858792020-05-29T17:48:20Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0006-io-add-select_with_poll-class-method-when-USE_POLL.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858802020-05-29T17:48:40Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0007-io-document-IO.select_with_poll.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858812020-05-29T17:48:45Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858822020-05-29T17:48:56Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0011-tests-add-a-few-more-tests-for-select.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858832020-05-29T17:49:00Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858842020-05-29T17:49:05Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858852020-05-29T17:49:10Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> deleted (<del><i>test_close.rb</i></del>)</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858862020-05-29T17:52:20Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <a href="/attachments/8465">0007-io-document-IO.select_with_poll.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8465/0007-io-document-IO.select_with_poll.patch">0007-io-document-IO.select_with_poll.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8466">0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8466/0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch">0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8467">0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8467/0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch">0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8468">0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8468/0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch">0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8460">0001-io-move-poll-defines-to-internal-io.h.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8460/0001-io-move-poll-defines-to-internal-io.h.patch">0001-io-move-poll-defines-to-internal-io.h.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8459">0002-io-add-additional-argument-to-fd_select-calls.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8459/0002-io-add-additional-argument-to-fd_select-calls.patch">0002-io-add-additional-argument-to-fd_select-calls.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8461">0003-select_internal-add-additional-argument-for-poll-err.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8461/0003-select_internal-add-additional-argument-for-poll-err.patch">0003-select_internal-add-additional-argument-for-poll-err.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8462">0004-thread-use-poll-in-rb_fd_select.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8462/0004-thread-use-poll-in-rb_fd_select.patch">0004-thread-use-poll-in-rb_fd_select.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8464">0005-io-make-use-of-poll-POLLERR-flag.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8464/0005-io-make-use-of-poll-POLLERR-flag.patch">0005-io-make-use-of-poll-POLLERR-flag.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8463">0006-io-add-select_with_poll-class-method-when-USE_POLL.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8463/0006-io-add-select_with_poll-class-method-when-USE_POLL.patch">0006-io-add-select_with_poll-class-method-when-USE_POLL.patch</a> added</li></ul> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=858872020-05-29T17:52:50Zmichals (Michal Suchánek)
<ul><li><strong>File</strong> <a href="/attachments/8469">0011-tests-add-a-few-more-tests-for-select.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8469/0011-tests-add-a-few-more-tests-for-select.patch">0011-tests-add-a-few-more-tests-for-select.patch</a> added</li><li><strong>File</strong> <a href="/attachments/8470">0012-Update-extension.rdoc-for-rb_fd_select.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8470/0012-Update-extension.rdoc-for-rb_fd_select.patch">0012-Update-extension.rdoc-for-rb_fd_select.patch</a> added</li></ul><p>rebased</p> Ruby master - Feature #16597: missing poll()https://redmine.ruby-lang.org/issues/16597?journal_id=979002022-06-09T09:14:17Zmichals (Michal Suchánek)
<ul></ul><p>Is there some change of getting the poll() semantic available in ruby?</p>