in reply to Re: Re: Binding STDIN/STDOUT and why it doesn't work on Windoze
in thread win32/unix compatible script
FWIW, that's because Win32 doesn't have a function exactly like select in Unix. But the implemetation of the sockets library does, to meet the Berkley Sockets standard. But that function only works for handles created by that system.
Win32 has WaitForMultipleObjects and if the object in question is a file handle of some kind, it will be signaled when an asyncronous operation completed; or more specifically for the Console Input device, signaled when input is available.
The way you normally structure such a program in Windows is not nativly supported by Perl. I suppose a XS module could be written... Or, a layer to emulate the select model using a helper thread and buffers would be a bit of effort, and I guess the function was not important enough for ActiveState to worry about <g>.
—John
|
|---|