Actions
Feature #4849
closedio/wait should have a way to avoid FIONREAD
Description
I would like an API method for io/wait which bypasses FIONREAD. Some IO
objects I work with (e.g. Linux eventfd[1]) to not support FIONREAD.
I can implement any proposed API for io/wait, but I don't know what it should
be. Perhaps just "IO#wait_readable", since I also have
http://redmine.ruby-lang.org/issues/4646 open for IO#wait_writable.
Meanwhile, I will use IO.select. I believe IO#wait_* will be a better
API that is easier-to-use and potentially faster (it can bypass array
scanning and use poll() for high FDs in Linux).
[1] http://bogomips.org/sleepy_penguin/SleepyPenguin/EventFD.html
Updated by mame (Yusuke Endoh) over 12 years ago
- Status changed from Open to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
Updated by mame (Yusuke Endoh) about 12 years ago
- Target version changed from 2.0.0 to 2.6
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
Applied in changeset r50262.
wait.c: poll over nread
- ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling
first and check FIONREAD optionally to see if EOF.
[ruby-core:36805] [Feature #4849]
Actions
Like0
Like0Like0Like0