version 1.150, 2020/01/13 15:00:59 |
version 1.151, 2020/01/13 15:05:18 |
|
|
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 may_continue_job(Job *); |
static void may_continue_job(Job *); |
static void continue_job(Job *); |
|
static Job *reap_finished_job(pid_t); |
static Job *reap_finished_job(pid_t); |
static bool reap_jobs(void); |
static bool reap_jobs(void); |
static void may_continue_heldback_jobs(); |
static void may_continue_heldback_jobs(); |
|
|
(long)mypid, job->node->name); |
(long)mypid, job->node->name); |
job->next = heldJobs; |
job->next = heldJobs; |
heldJobs = job; |
heldJobs = job; |
} else |
} else { |
continue_job(job); |
bool finished = job_run_next(job); |
|
if (finished) |
|
postprocess_job(job); |
|
else if (!sequential) |
|
determine_expensive_job(job); |
|
} |
} |
} |
|
|
static void |
|
continue_job(Job *job) |
|
{ |
|
bool finished = job_run_next(job); |
|
if (finished) |
|
postprocess_job(job); |
|
else if (!sequential) |
|
determine_expensive_job(job); |
|
} |
|
|
|
/*- |
/*- |
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
* Job_Make -- |
* Job_Make -- |
|
|
if (DEBUG(EXPENSIVE)) |
if (DEBUG(EXPENSIVE)) |
fprintf(stderr, "[%ld] cheap -> release %s\n", |
fprintf(stderr, "[%ld] cheap -> release %s\n", |
(long)mypid, job->node->name); |
(long)mypid, job->node->name); |
continue_job(job); |
may_continue_job(job); |
} else |
} else |
break; |
break; |
} |
} |