* fixed bug when waiting for sub-process related to handling of multiple children (as created by piped commands). This caused the compilation of AboutHaiku to fail on Zeta.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@18503 a95241bf-73f2-0310-859d-f6bbb57e9c96
Diff
jam/execunix.c | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
@@ -272,29 +272,29 @@
if( !cmdsrunning )
return 0;
do
{
while( ( w = wait( &status ) ) == -1 && errno == EINTR )
while( ( w = wait( &status ) ) == -1 && errno == EINTR )
;
if( w == -1 )
{
printf( "child process(es) lost!\n" );
perror("wait");
exit( EXITBAD );
}
for( i = 0; i < MAXJOBS; i++ )
if( w == cmdtab[ i ].pid )
break;
if( i == MAXJOBS )
{
printf( "waif child found!\n" );
exit( EXITBAD );
}
if( w == -1 )
{
printf( "child process(es) lost!\n" );
perror("wait");
exit( EXITBAD );
}
for( i = 0; i < MAXJOBS; i++ )
if( w == cmdtab[ i ].pid )
break;
if( i == MAXJOBS )
printf( "jam: waif child process %ld found, ignoring it!\n", w );
} while( i == MAXJOBS );
# ifdef USE_EXECNT