Barries <[EMAIL PROTECTED]> writes:
>
>So, is anyone working (really) on this, thinking about it, or interested
>in contributing advice/time/whatever to such an effort? Nick
>Ing-Simmons mentioned that there might be some possibility of and
>interest in porting the new poll() implementation to Win32, IIRC.
I am indeed working towards this. Believe it or not PerlIO in the 5.7.*
branch is heading this way.
>
>Personally, I'd love to see IPC::Run's Expect-like & event loop modes
>work with something beyond TCP sockets on NT, and Event.pm and POE would
>benefit as well. I need pipes, others could use select() or poll() on
>listening sockets or files, etc.
The problem is that on Win32 to use select() the Socket has to be in
synchronous mode. While to use WaitForMultipleEvents() the Socket has
to be in asynchronous mode - thus if you want to use Win32's native "poll-oid"
API you _cannot_ use select(). In addition MS's C runtime (read/fread etc)
will not work on sockets in asynchronous mode (or non-blocking IO in general).
So you need to replace read and stdio with another IO subsystem and get
perl to use it - hence PerlIO.
Or you use stdio/read and select() in which case _ONLY_ sockets will work
(and apparently not listen mode sockets at that...)
So I _strongly_ recommend the PerlIO route - but please copy me
whatever way you go.
>
>FWIW, Perforce will be funding some or all of this work on Sean and my's
>part and they're happy to donate the resulting code.
>
>- Barrie
--
Nick Ing-Simmons