diff --git a/src/cell.c b/src/cell.c index 82be6b6f2109559125ef57e7da284a0354ab2b06..db60b4bb6712e31ee1c8e300a069f732f661cfba 100644 --- a/src/cell.c +++ b/src/cell.c @@ -1305,7 +1305,7 @@ int cell_unskip_tasks(struct cell *c, struct scheduler *s) { if (l == NULL) error("Missing link to send_xv task."); scheduler_activate(s, l->t); - if (cj->drift) + if (cj->drift && t->type == task_type_pair) scheduler_activate(s, cj->drift); else error("Drift task missing !"); @@ -1341,7 +1341,7 @@ int cell_unskip_tasks(struct cell *c, struct scheduler *s) { if (l == NULL) error("Missing link to send_xv task."); scheduler_activate(s, l->t); - if (ci->drift) + if (ci->drift && t->type == task_type_pair) scheduler_activate(s, ci->drift); else error("Drift task missing !"); diff --git a/src/engine.c b/src/engine.c index 6bba2b026f8fbc3251920eab587bea7ce3a0a19b..249a092db45c95e8df72d918b9d475e57f457df6 100644 --- a/src/engine.c +++ b/src/engine.c @@ -2526,7 +2526,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, if (l == NULL) error("Missing link to send_xv task."); scheduler_activate(s, l->t); - if (cj->drift) + if (cj->drift && t->type == task_type_pair) scheduler_activate(s, cj->drift); else error("Drift task missing !"); @@ -2562,7 +2562,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, if (l == NULL) error("Missing link to send_xv task."); scheduler_activate(s, l->t); - if (ci->drift) + if (ci->drift && t->type == task_type_pair) scheduler_activate(s, ci->drift); else error("Drift task missing !");