diff --git a/src/runner.c b/src/runner.c index a01e4bb86acedd390d9f16f6c49220605acc27c8..5bc5fede083fe2fe6810021af05d1a30a44d4e41 100644 --- a/src/runner.c +++ b/src/runner.c @@ -1187,6 +1187,16 @@ void runner_do_star_formation(struct runner *r, struct cell *c, int timer) { if (timer) TIMER_TOC(timer_do_star_formation); } +/** + * @brief Sorts again all the stars in a given cell hierarchy. + * + * This is intended to be used after the star formation task has been run + * to get the cells back into a state where self/pair star tasks can be run. + * + * @param r The thread #runner. + * @param c The top-level cell to run on. + * @param timer Are we timing this? + */ void runner_do_stars_resort(struct runner *r, struct cell *c, int timer) { #ifdef SWIFT_DEBUG_CHECKS @@ -1194,11 +1204,15 @@ void runner_do_stars_resort(struct runner *r, struct cell *c, int timer) { if (c->depth != 0) error("Task must be run at the top-level"); #endif + TIMER_TIC; + /* Did we demand a recalculation of the stars'sorts? */ if (cell_get_flag(c, cell_flag_do_stars_resort)) { runner_do_all_stars_sort(r, c); cell_clear_flag(c, cell_flag_do_stars_resort); } + + if (clock) TIMER_TOC(timer_dostars_resort); } /**