diff --git a/src/engine.c b/src/engine.c index 59d83757830b62cd5c229b9937f9530462ee7773..d3213cdfe68130efa918a6aba7c099842d2dd891 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1637,12 +1637,12 @@ int engine_marktasks(struct engine *e) { struct scheduler *s = &e->sched; const ticks tic = getticks(); + int rebuild_space = 0; /* Much less to do here if we're on a fixed time-step. */ if (e->policy & engine_policy_fixdt) { /* Run through the tasks and mark as skip or not. */ - int rebuild_space = 0; threadpool_map(&e->threadpool, engine_marktasks_fixdt_mapper, s->tasks, s->nr_tasks, sizeof(struct task), &rebuild_space); return rebuild_space; @@ -1651,12 +1651,12 @@ int engine_marktasks(struct engine *e) { } else { /* Run through the tasks and mark as skip or not. */ - int extra_data[2] = {e->ti_current, 0}; + int extra_data[2] = {e->ti_current, rebuild_space}; threadpool_map(&e->threadpool, engine_marktasks_sorts_mapper, s->tasks, s->nr_tasks, sizeof(struct task), NULL); threadpool_map(&e->threadpool, engine_marktasks_mapper, s->tasks, s->nr_tasks, sizeof(struct task), extra_data); - return extra_data[1]; + rebuild_space = extra_data[1]; } if (e->verbose) @@ -1664,7 +1664,7 @@ int engine_marktasks(struct engine *e) { clocks_getunit()); /* All is well... */ - return 0; + return rebuild_space; } /**