Index: execunix.c =================================================================== --- execunix.c (revision 53709) +++ execunix.c (working copy) @@ -190,13 +190,9 @@ { 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 +228,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