There code for detecting when a keepalive process was needed missed lots of cases. This should fix some issues. Both the keepalive code and the code for spawning fake processes for builtins should be rethought, though.

darcs-hash:20070924082144-75c98-ab62f758374952aa3b295af709d57931972f4683.gz
This commit is contained in:
liljencrantz 2007-09-24 18:21:44 +10:00
parent e6764f3130
commit 79ac330afb

9
exec.c
View File

@ -898,14 +898,19 @@ void exec( job_t *j )
{
for( p=j->first_process; p; p = p->next )
{
if( (p->type == INTERNAL_BLOCK ) ||
(p->type == INTERNAL_FUNCTION ) )
if( p->type != EXTERNAL )
{
if( p->next )
{
needs_keepalive = 1;
break;
}
if( p != j->first_process )
{
needs_keepalive = 1;
break;
}
}
}