[#35446] [Ruby 1.9 - Bug #4477][Open] Kernel:exec and backtick (`) don't work for certain system commands — Joachim Wuttke <j.wuttke@...>

10 messages 2011/03/07

[#35476] [Ruby 1.9 - Bug #4489][Open] [PATCH] Encodings with /-(unix|dos|mac)\Z/ — "James M. Lawrence" <quixoticsycophant@...>

20 messages 2011/03/10

[#35552] [Ruby 1.9 - Feature #4523][Open] Kernel#require to return the path of the loaded file — Alex Young <alex@...>

14 messages 2011/03/24

[#35565] [Ruby 1.9 - Feature #4531][Open] [PATCH 0/7] use poll() instead of select() in certain cases — Eric Wong <normalperson@...>

33 messages 2011/03/28

[#35566] [Ruby 1.9 - Feature #4532][Open] [PATCH] add IO#pread and IO#pwrite methods — Eric Wong <normalperson@...>

12 messages 2011/03/28

[#35586] [Ruby 1.9 - Feature #4538][Open] [PATCH (cleanup)] avoid unnecessary select() calls before doing I/O — Eric Wong <normalperson@...>

9 messages 2011/03/29

[ruby-core:35527] using poll() for rb_io_wait_{read,writ}able()?

From: Eric Wong <normalperson@...>
Date: 2011-03-20 03:23:03 UTC
List: ruby-core #35527
Hello, on some OSes it should be easy to swap out some current
users of select() for poll().  poll() works better on high-numbered
file descriptors.

I'm not sure how well poll() works for certain FD types (FIFO/anonymous
pipes/various socket types), but I know poll() on Linux works for
everything I've tried, so I might just enable it only under Linux until
other people can test it on other systems.

1. rb_io_wait_readable() + rb_io_wait_writable()
2. IO#wait
3. IO.select with a single object (common in my experience)

rb_thread_select() will probably always be around for backwards
compatibility.

IO.select for multiple IO objects might just be kept as-is for now.
IO.select seems to properly map multiple IO objects using the same FD
properly, which requires extra work and might not be worth it.

I can provide patches and try my best to not break compatibility
with other systems if folks are interested.

Thanks for reading!

-- 
Eric Wong

In This Thread

Prev Next