in reply to Re^2: I got IPC::Open3 to work!
in thread I got IPC::Open3 to work!

All the data ends up in processeddata, no matter how much is read by a given call to sysread.

Oops, my bad. Actually, hm, I'm not sure what happens without the offset adjustments that I have in my code...

It doesn't look like you're handling ... other exceptional conditions

He does this too. Relevant code:

if( ! defined $length || $length == 0 ) { $err .= "Error from child: $!\n" unless defined $length; $select->remove($fh); }

That treats things like EINTR as "fatal" errors (stop listening on that $fh), which is probably not what he wants.

You removed select, which is cruicial here.

I was just commenting on the vagaries of sysread().

Replies are listed 'Best First'.
Re^4: I got IPC::Open3 to work!
by harleypig (Monk) on Jul 24, 2005 at 16:04 UTC

    Anything unexpected here is a fatal error. Unfortunately, I spent so much time getting this to work at all my boss isn't willing to devote any more time on the finer points. It'll end up biting me in the ass later, but I'm logging any error messages and autoforwarding these to my phone so I can fix (or at least be aware) them before my boss finds out.

    Harley J Pig