From: "Jon A. Lambert" Date: 2005-09-26T18:14:17+09:00 Subject: IO#getc behavior I'm writing a console application with an input loop like the following: while running keyhit = select( [$stdin], nil, nil, 0.1 ) if keyhit c = $stdin.getc session.message(c.chr) end end In the cygwin version of Ruby all is fine. The user hits a key select() indicates it and the character is gotten with $stdin.getc. However I ran this under the msvc version of windows and what happens is select() returns a ready state for $stdin whether a key is hit or not. Then getc() blocks? because there's nothing yet to be gotten. Worse no I/O seems to be going on until the user hits the return key and then whammo I see either the end result of the loops or it appears more likely getc blocks internally under cover until it sees a CR in the stream. Is there a workaround? Thanks -- J Lambert