From: Evan Phoenix Date: 2011-03-20T15:57:54+09:00 Subject: [ruby-core:35529] Re: using poll() for rb_io_wait_{read,writ}able()? On Mar 19, 2011, at 8:23 PM, Eric Wong wrote: > 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. For a long time (and maybe still) poll(2) on OS X did not work on fd's for ttys. This is/was because poll(2) was implemented with kqueue(2), which did not support tty fd's. I attempted to work around the situation once by detecting if the fd was for a tty and using select(2) instead, but in the end it was more hassle than it was worth. Oh, as I type this, I recall on OS X poll(2) also didn't support fd's for pipes. Same reason as above, kqueue didn't support them. - Evan