in reply to Re^3: Non-blocking Reads from Pipe Filehandle (WaitForMult...)
in thread Non-blocking Reads from Pipe Filehandle

I assumed worst case was use of Win32API::File's GetOsFHandle().

But diving into the XS code I see that the module is about as poorly designed as any. As is all too common for XS modules and Win32:: modules especially, it has way too much XS code that can only handle the very narrowest of types of input. *sigh* If you pass it an object that "isa" subclass of Win32::Process, then it will call the object's get_process_handle() method. If you pass it an object that "isa" subclass of Win32::IPC, then it expects that to be a ref to a scalar containing the integer handle value.

So you could probably get away with something like:

my $handle= bless \GetOsFHandle(*PIPE), "Win32::IPC";

which is pretty ugly and likely to break at some future date.

- tye