version 1.152, 2020/01/13 15:12:58 |
version 1.153, 2020/01/13 15:19:04 |
|
|
static Job *heldJobs; /* Jobs not running yet because of expensive */ |
static Job *heldJobs; /* Jobs not running yet because of expensive */ |
static pid_t mypid; /* Used for printing debugging messages */ |
static pid_t mypid; /* Used for printing debugging messages */ |
static Job *extra_job; /* Needed for .INTERRUPT */ |
static Job *extra_job; /* Needed for .INTERRUPT */ |
|
static bool compatMode; /* If we're running with compat.c don't call Make_Update */ |
|
|
static volatile sig_atomic_t got_fatal; |
static volatile sig_atomic_t got_fatal; |
|
|
|
|
* non-zero status that we shouldn't ignore, we call |
* non-zero status that we shouldn't ignore, we call |
* Make_Update to update the parents. */ |
* Make_Update to update the parents. */ |
job->node->built_status = REBUILT; |
job->node->built_status = REBUILT; |
Make_Update(job->node); |
if (!compatMode) |
|
Make_Update(job->node); |
} |
} |
if (job->flags & JOB_KEEPERROR) { |
if (job->flags & JOB_KEEPERROR) { |
job->next = errorJobs; |
job->next = errorJobs; |
|
|
} |
} |
|
|
void |
void |
Job_Init(int maxJobs) |
Job_Init(int maxJobs, bool compat) |
{ |
{ |
Job *j; |
Job *j; |
int i; |
int i; |
|
|
errorJobs = NULL; |
errorJobs = NULL; |
availableJobs = NULL; |
availableJobs = NULL; |
sequential = maxJobs == 1; |
sequential = maxJobs == 1; |
|
compatMode = compat; |
|
|
/* we allocate n+1 jobs, since we may need an extra job for |
/* we allocate n+1 jobs, since we may need an extra job for |
* running .INTERRUPT. */ |
* running .INTERRUPT. */ |