From 245ae7e3cb598e4a8386b02bcd4a4b4587492083 Mon Sep 17 00:00:00 2001
From: Pedro Gonnet <gonnet@google.com>
Date: Wed, 26 Apr 2017 21:55:18 +0200
Subject: [PATCH] don't activate drifts for sub-cell tasks.

---
 src/cell.c   | 4 ++--
 src/engine.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/cell.c b/src/cell.c
index 5c1de13bcd..3f5e7c44e3 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 128d445b58..3ce5653d5f 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;
-- 
GitLab