From 7279be3b0768c63a0816c1eccb92849404ede06d Mon Sep 17 00:00:00 2001
From: Pedro Gonnet <gonnet@google.com>
Date: Tue, 18 Apr 2017 23:07:14 +0200
Subject: [PATCH] only activate drift tasks for pairs, not sub-cell pairs.

---
 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 82be6b6f21..db60b4bb67 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 6bba2b026f..249a092db4 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 !");
-- 
GitLab