> The impression I got from the windows select() documentation
> was that it only works with winsock sockets.Ruby's Kernel#select is quite different from the native select. It's deeply
intertwined with the green threads implementation. It basically knows how to
handle anything that can be wrapped in a Ruby IO object.
This has been percolating in the back of my mind for a month
or so now.
I presume, even though Ruby may be able to handle anything that
can be wrapped in a Ruby IO object, there's no implication that
this object can be handled in a green-thread-friendly way without
blocking all ruby threads?
I'm currently in search of a green-thread-friendly popen() in
Windows for Ruby. I just tried the win32-open3 package, but a
#gets on the pipe still blocks the whole process.
Does anyone know whether a nonblocking popen() is *possible*
in Windows Ruby? And if so, is there any existing implementation?
If not, what's the best substitute? All I can think of offhand
is TCP connections on localhost/loopback.
Thanks,
Regards,
Bill
···
From: "Francis Cianfrocca" <garbagecat10@gmail.com>