We''ve got a slightly messy bug/feature in the queue http://dev.rubyonrails.org/ticket/1268 It seems that $stdin.read is throwing Errno::EAGAIN. If my understanding is correct, EAGAIN only comes out of non-blocking reads, it''s an indication to ''try again later'' as that read would have blocked. Anyone know why stdin is being read like this? Anything we can do to just ''switch to blocking''? Any reason we shouldn''t block when reading from stdin? The rails process is single threaded anyway, so blocking it won''t be doing anything till the read returns. -- Cheers Koz