Index: execunix.c =================================================================== --- execunix.c (revision 53651) +++ execunix.c (working copy) @@ -191,12 +191,10 @@ if ( pipe( out ) < 0 ) exit( EXITBAD ); fcntl( out[0], F_SETFL, O_NONBLOCK ); - fcntl( out[1], F_SETFL, O_NONBLOCK ); if ( pipe( err ) < 0 ) exit( EXITBAD ); fcntl( err[0], F_SETFL, O_NONBLOCK ); - fcntl( err[1], F_SETFL, O_NONBLOCK ); } /* Start the command */ @@ -232,6 +230,8 @@ } else dup2( err[1], STDERR_FILENO ); + close( out[1] ); + close( err[1] ); /* Make this process a process group leader so that when we kill it, all * child processes of this process are terminated as well. We use