done_commrec had only been called on master thread, leading to
potential leaks
Change-Id: I03215880e9ded9c18dc0642357889f9e469f2a4f
void done_commrec(t_commrec *cr)
{
- if (nullptr != cr->dd)
+ if (MASTER(cr))
{
- // TODO: implement
- // done_domdec(cr->dd);
+ if (nullptr != cr->dd)
+ {
+ // TODO: implement
+ // done_domdec(cr->dd);
+ }
+ done_mpi_in_place_buf(cr->mpb);
}
- done_mpi_in_place_buf(cr->mpb);
sfree(cr);
}
wait for that. */
if (PAR(cr) && MASTER(cr))
{
- done_commrec(cr);
tMPI_Finalize();
}
+ //TODO free commrec in MPI simulations
+ done_commrec(cr);
#endif
-
return rc;
}