diff --git a/src/engine.c b/src/engine.c index 88ce085f71f3e9d2cd869ac637db8127c0e51c64..590fa3928a27878df39b48026b35d448cef9b2a4 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());