From ae84635da35f4db42f506c556f0cf3a3593d860e Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Tue, 25 Feb 2020 11:52:15 +0800 Subject: [PATCH] Free the proxy memory when done exchanging strays --- src/engine.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/engine.c b/src/engine.c index 88ce085f71..590fa3928a 100644 --- a/src/engine.c +++ b/src/engine.c @@ -900,6 +900,21 @@ void engine_exchange_strays(struct engine *e, const size_t offset_parts, MPI_SUCCESS) error("MPI_Waitall on sends failed."); + /* Free the proxy memory */ + for (int k = 0; k < e->nr_proxies; k++) { + struct proxy *prox = &e->proxies[k]; + if (prox->gparts_out) { + swift_free("gparts_out", prox->gparts_out); + prox->gparts_out = NULL; + prox->size_gparts_out = 0; + } + if (prox->gparts_in) { + swift_free("gparts_in", prox->gparts_in); + prox->gparts_in = NULL; + prox->size_gparts_in = 0; + } + } + if (e->verbose) message("took %.3f %s.", clocks_from_ticks(getticks() - tic), clocks_getunit()); -- GitLab