in reply to closed STDOUT and open3

fork depends on STDIN/STDOUT/STDERR for inter-process communication, so does open3

Replies are listed 'Best First'.
Re^2: closed STDOUT and open3
by ikegami (Patriarch) on Feb 05, 2010 at 00:13 UTC

    Neither fork nor open3 does any ipc*, so that's not true.

    open3 does setup the child's STD handles to do ipc (if so instructed), but that shouldn't depend on the parent's STD handles.

    I do consider this a bug in open3, but it's only triggered under odd, easily avoidable circumstances. ("It hurts when I do this." "So don't do that")

    * — Yet. At the moment, it's not possible to distinguish between an exec failure and the child exiting with code 255, and it's not possible to capture the cause of the exec failure. I have a patch for open3 (waiting on Perl 5.12's release) that will have open3 communicate exec failures to the parent via ipc.