Formerly job.c.~102~

This commit is contained in:
Roland McGrath 1993-05-06 21:30:10 +00:00
parent 29de1a7e5a
commit 9596950898

32
job.c
View file

@ -333,12 +333,24 @@ reap_children (block, err)
/* If there are more commands to run, try to start them. */
if (job_next_command (c))
{
/* Check again whether to start remotely.
Whether or not we want to changes over time.
Also, start_remote_job may need state set up
by start_remote_job_p. */
c->remote = start_remote_job_p ();
start_job_command (c);
if (handling_fatal_signal)
{
/* Never start new commands while we are dying.
Since there are more commands that wanted to be run,
the target was not completely remade. So we treat
this as if a command had failed. */
c->file->command_state = cs_finished;
c->file->update_status = 1;
}
else
{
/* Check again whether to start remotely.
Whether or not we want to changes over time.
Also, start_remote_job may need state set up
by start_remote_job_p. */
c->remote = start_remote_job_p ();
start_job_command (c);
}
}
switch (c->file->command_state)
@ -362,8 +374,9 @@ reap_children (block, err)
}
}
/* Notice if the target of the commands has been changed. */
notice_finished_file (c->file);
if (! handling_fatal_signal)
/* Notice if the target of the commands has been changed. */
notice_finished_file (c->file);
if (debug_flag)
printf ("Removing child 0x%08lx PID %d%s from chain.\n",
@ -375,7 +388,8 @@ reap_children (block, err)
children = c->next;
else
lastc->next = c->next;
free_child (c);
if (! handling_fatal_signal) /* Avoid nonreentrancy. */
free_child (c);
/* There is now another slot open. */
--job_slots_used;