Issue #4538 has been updated by Charles Nutter. Is it possible to interrupt/wakeup a thread that's doing a direct blocking IO call? I always understood that as the primary reason for doing the select logic. ---------------------------------------- Feature #4538: [PATCH (cleanup)] avoid unnecessary select() calls before doing I/O http://redmine.ruby-lang.org/issues/4538 Author: Eric Wong Status: Open Priority: Low Assignee: Category: core Target version: 1.9.x Please look at http://redmine.ruby-lang.org/issues/4535 before this one. That one actually fixes a bug I noticed while working on this patch. Ruby 1.9 no longer depends on multiplexed non-blocking I/O to do its threading and defaults to blocking file descriptors. As a result, there is no need to check the fd for read/writability when there is an error check for rb_io_wait_(read|writ)able after the blocking function. I also believe the code in io_binwrite() to: avoid context switch between "a" and "\n" in STDERR.puts "a". [ruby-dev:25080] ...has always been broken under 1.9 with native threads. Nothing new is broken with test-all and test-rubyspec -- http://redmine.ruby-lang.org