version 1.149, 2020/01/13 14:57:00 |
version 1.150, 2020/01/13 15:00:59 |
|
|
static void postprocess_job(Job *); |
static void postprocess_job(Job *); |
static Job *prepare_job(GNode *); |
static Job *prepare_job(GNode *); |
static void determine_job_next_step(Job *); |
static void determine_job_next_step(Job *); |
static void remove_job(Job *); |
|
static void may_continue_job(Job *); |
static void may_continue_job(Job *); |
static void continue_job(Job *); |
static void continue_job(Job *); |
static Job *reap_finished_job(pid_t); |
static Job *reap_finished_job(pid_t); |
|
|
{ |
{ |
bool finished = job_run_next(job); |
bool finished = job_run_next(job); |
if (finished) |
if (finished) |
remove_job(job); |
postprocess_job(job); |
else if (!sequential) |
else if (!sequential) |
determine_expensive_job(job); |
determine_expensive_job(job); |
} |
} |
|
|
} |
} |
|
|
if (job->exit_type != JOB_EXIT_OKAY || job->next_cmd == NULL) |
if (job->exit_type != JOB_EXIT_OKAY || job->next_cmd == NULL) |
remove_job(job); |
postprocess_job(job); |
else |
else |
may_continue_job(job); |
may_continue_job(job); |
} |
} |