in reply to Re: Non-blocking Reads from Pipe Filehandle
in thread Non-blocking Reads from Pipe Filehandle
Cool! ++
One thought. I have encountered an (occasional) situation where using ioctl($client, 0x8004667e, 1); fails.
More reliable seems to be:
my $true = 1; ioctl($client, 0x8004667e, \$true);
The problem seems to be that under some, unspecified (and through my best efforts, untracable), circumstances, the 'system' (I haven't figured out what part of the system), attempts to write to the third parameter. And if that is a constant (or a reference to a constant, I used ioctl($client, 0x8004667e, \1); successfully for a while), then it cannot write to it and so it traps.
See ioctlsocket Function(windows) and notice that the third parameter is defined as being __inout. Whether passing a reference to a rw SV* gets correctly translated, I'm not sure, but it doesn't seem to harm.
Maybe that would 'fix' the problem with OpenSSH?
|
|---|