Project

General

Profile

Actions

Feature #16597

open

missing poll()

Added by michals (Michal Suchánek) about 4 years ago. Updated almost 2 years ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:97006]

Description

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

tcp_test.rb (1018 Bytes) tcp_test.rb michals (Michal Suchánek), 02/05/2020 10:29 PM
unix_test.rb (992 Bytes) unix_test.rb michals (Michal Suchánek), 02/07/2020 04:01 PM
0002-io-add-additional-argument-to-fd_select-calls.patch (9.09 KB) 0002-io-add-additional-argument-to-fd_select-calls.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0001-io-move-poll-defines-to-internal-io.h.patch (3.35 KB) 0001-io-move-poll-defines-to-internal-io.h.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0003-select_internal-add-additional-argument-for-poll-err.patch (4.95 KB) 0003-select_internal-add-additional-argument-for-poll-err.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0004-thread-use-poll-in-rb_fd_select.patch (3.88 KB) 0004-thread-use-poll-in-rb_fd_select.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0006-io-add-select_with_poll-class-method-when-USE_POLL.patch (2.72 KB) 0006-io-add-select_with_poll-class-method-when-USE_POLL.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0005-io-make-use-of-poll-POLLERR-flag.patch (1.25 KB) 0005-io-make-use-of-poll-POLLERR-flag.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0007-io-document-IO.select_with_poll.patch (2.04 KB) 0007-io-document-IO.select_with_poll.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch (1.86 KB) 0008-test-fix-up-wait_for_single_fd-to-accept-RB_WAITFD_E.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch (2.55 KB) 0009-rb_fd_select-raise-exception-on-bad-fd-when-using-po.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch (11.9 KB) 0010-select_with_poll-do-not-reaise-exception-on-bad-fd.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0012-Update-extension.rdoc-for-rb_fd_select.patch (1.43 KB) 0012-Update-extension.rdoc-for-rb_fd_select.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
0011-tests-add-a-few-more-tests-for-select.patch (2.56 KB) 0011-tests-add-a-few-more-tests-for-select.patch michals (Michal Suchánek), 05/29/2020 05:52 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0