On Wed, Sep 21, 2005 at 11:33:50AM +0900, SASADA Koichi wrote:
> [ruby-dev:27078] console pipe support on native Win32
> 
> U.Nakamura also announced supporting "select()" on console I/O.
> Following example works:
> 
> 	Thread.new {
> 	  loop {
> 	    puts "thread"
> 	    sleep 1
> 	  }
> 	}
> 	loop {
> 	  p gets
> 	}
> 
> Known problem:
> 
> (1) pipe and console were considerd always writable.
> 
> (2) On console, if characters except line break were input in waiting,
> this ruby thread will be blocked.  It's impossible to solve this problem
> without native thread.
> 
> (3) Only few tests on Win9x

Would any of this be solved by using WFMO instead of select on win32?
It would be nice to have a pluggable IO multiplexing system (e.g. so
ruby could use /dev/poll or /dev/epoll or kqueue on platforms that
support it).

I don't know how difficult such a change is or what the consequences
might be.  It has been discussed before in [ruby-talk:47186].

Paul