diff --git a/src/cell.c b/src/cell.c index 5c1de13bcd669087f81fa75b0a65decbb5ec803f..3f5e7c44e303d886255f98ba420532100c2c0a70 100644 --- a/src/cell.c +++ b/src/cell.c @@ -1310,7 +1310,7 @@ int cell_unskip_tasks(struct cell *c, struct scheduler *s) { scheduler_activate(s, l->t->ci->drift); else error("Drift task missing !"); - scheduler_activate(s, cj->drift); + if (t->type == task_type_pair) scheduler_activate(s, cj->drift); if (cell_is_active(cj, e)) { for (l = cj->send_rho; l != NULL && l->t->cj->nodeID != ci->nodeID; @@ -1348,7 +1348,7 @@ int cell_unskip_tasks(struct cell *c, struct scheduler *s) { scheduler_activate(s, l->t->ci->drift); else error("Drift task missing !"); - scheduler_activate(s, ci->drift); + if (t->type == task_type_pair) scheduler_activate(s, ci->drift); if (cell_is_active(ci, e)) { for (l = ci->send_rho; l != NULL && l->t->cj->nodeID != cj->nodeID; diff --git a/src/engine.c b/src/engine.c index 128d445b58a47dfcd34f00aa4c630d268a0e384a..3ce5653d5f11295eb74295b0d4256063146ba63a 100644 --- a/src/engine.c +++ b/src/engine.c @@ -2533,7 +2533,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, scheduler_activate(s, l->t->ci->drift); else error("Drift task missing !"); - scheduler_activate(s, cj->drift); + if (t->type == task_type_pair) scheduler_activate(s, cj->drift); if (cell_is_active(cj, e)) { for (l = cj->send_rho; l != NULL && l->t->cj->nodeID != ci->nodeID; @@ -2571,7 +2571,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, scheduler_activate(s, l->t->ci->drift); else error("Drift task missing !"); - scheduler_activate(s, ci->drift); + if (t->type == task_type_pair) scheduler_activate(s, ci->drift); if (cell_is_active(ci, e)) { for (l = ci->send_rho; l != NULL && l->t->cj->nodeID != cj->nodeID;