From fe4019ec0495d18e67a9d3a007917df6a1ac7e51 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Tue, 6 Dec 2016 14:44:37 +0000 Subject: [PATCH] Correct locking/unlocking of drift task --- src/task.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/task.c b/src/task.c index ceea09126c..d787e92af8 100644 --- a/src/task.c +++ b/src/task.c @@ -261,6 +261,11 @@ void task_unlock(struct task *t) { /* Act based on task type. */ switch (type) { + case task_type_drift: + cell_unlocktree(ci); + cell_gunlocktree(ci); + break; + case task_type_sort: cell_unlocktree(ci); break; @@ -328,6 +333,15 @@ int task_lock(struct task *t) { #endif break; + case task_type_drift: + if (ci->hold || ci->ghold) return 0; + if (cell_locktree(ci) != 0) return 0; + if (cell_glocktree(ci) != 0) { + cell_unlocktree(ci); + return 0; + } + break; + case task_type_sort: if (cell_locktree(ci) != 0) return 0; break; -- GitLab