diff --git a/src/cell.c b/src/cell.c index 2c89b4f536046f39202842df85385261c9604c32..585aa65acb5c0d00439e65970e666e838f8b8659 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 ee8975e604d3d68aaffa116336dc4a74ecbc2feb..9ae1e59ee1ee7292393ce0a43eb6992d8bae6802 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 2e2e2f039343bfbeeb2d581b9aa9402168df7778..255dadbb3953408b9bf83b2be47725bfb49f43cd 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;