version 1.133, 2012/11/24 11:05:33 |
version 1.134, 2012/12/08 12:54:17 |
|
|
Job *runningJobs; /* Jobs currently running a process */ |
Job *runningJobs; /* Jobs currently running a process */ |
Job *errorJobs; /* Jobs in error at end */ |
Job *errorJobs; /* Jobs in error at end */ |
static Job *heldJobs; /* Jobs not running yet because of expensive */ |
static Job *heldJobs; /* Jobs not running yet because of expensive */ |
static pid_t mypid; |
static pid_t mypid; /* Used for printing debugging messages */ |
|
|
static volatile sig_atomic_t got_fatal; |
static volatile sig_atomic_t got_fatal; |
|
|
|
|
bool |
bool |
Job_Finish(void) |
Job_Finish(void) |
{ |
{ |
bool errors = errorJobs != NULL; |
bool problem = errorJobs != NULL; |
|
|
if ((end_node->type & OP_DUMMY) == 0) { |
if ((end_node->type & OP_DUMMY) == 0) { |
if (errors) { |
if (problem) { |
Error("Errors reported so .END ignored"); |
Error("Errors reported so .END ignored"); |
} else { |
} else { |
Job_Make(end_node); |
Job_Make(end_node); |
loop_handle_running_jobs(); |
loop_handle_running_jobs(); |
} |
} |
} |
} |
return errors; |
return problem; |
} |
} |
|
|
void |
void |