From b69545670faefd9ed3d010272efbc54ca70129bb Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Thu, 24 May 2018 12:48:22 +0100 Subject: [PATCH] Make sure the new task is activated correctly. --- src/cell.c | 1 + src/engine.c | 2 +- src/task.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cell.c b/src/cell.c index 2c89b4f536..585aa65acb 100644 --- a/src/cell.c +++ b/src/cell.c @@ -2302,6 +2302,7 @@ int cell_unskip_gravity_tasks(struct cell *c, struct scheduler *s) { if (c->timestep != NULL) scheduler_activate(s, c->timestep); if (c->end_force != NULL) scheduler_activate(s, c->end_force); if (c->grav_down != NULL) scheduler_activate(s, c->grav_down); + if (c->grav_mesh != NULL) scheduler_activate(s, c->grav_mesh); if (c->grav_long_range != NULL) scheduler_activate(s, c->grav_long_range); } diff --git a/src/engine.c b/src/engine.c index ee8975e604..9ae1e59ee1 100644 --- a/src/engine.c +++ b/src/engine.c @@ -3592,7 +3592,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, } /* Gravity stuff ? */ - else if (t->type == task_type_grav_down || + else if (t->type == task_type_grav_down || t->type == task_type_grav_mesh || t->type == task_type_grav_long_range || t->type == task_type_init_grav) { if (cell_is_active_gravity(t->ci, e)) scheduler_activate(s, t); diff --git a/src/task.c b/src/task.c index 2e2e2f0393..255dadbb39 100644 --- a/src/task.c +++ b/src/task.c @@ -180,6 +180,7 @@ __attribute__((always_inline)) INLINE static enum task_actions task_acts_on( case task_type_drift_gpart: case task_type_grav_down: + case task_type_grav_mesh: return task_action_gpart; break; @@ -290,6 +291,7 @@ void task_unlock(struct task *t) { break; case task_type_drift_gpart: + case task_type_grav_mesh: cell_gunlocktree(ci); break; @@ -385,6 +387,7 @@ int task_lock(struct task *t) { break; case task_type_drift_gpart: + case task_type_grav_mesh: if (ci->ghold) return 0; if (cell_glocktree(ci) != 0) return 0; break; -- GitLab