Here is a test: http://s3.amazonaws.com/four.livejournal/20080316/rb_thread_wait_fd.tar.gz compile it: ruby extconf.rb && make run it: ruby test.rb it should not exit. Ruby 1.9.0 has the correct behavior, but 1.8.6 exits immediately. Is this a bug? Probably not - what am I doing wrong? thanks, ry