diff --git a/src/lam/runtime/lam_finalize.c b/src/lam/runtime/lam_finalize.c index 5ec4a2f538..736e859ba3 100644 --- a/src/lam/runtime/lam_finalize.c +++ b/src/lam/runtime/lam_finalize.c @@ -7,13 +7,9 @@ #include "lam/constants.h" #include "lam/runtime/runtime.h" #include "lam/util/output.h" -#include "mpi/group/group.h" int lam_finalize(void) { - /* free group resources */ - lam_group_finalize(); - /* Shut down malloc debug stuff */ lam_malloc_finalize(); diff --git a/src/mpi/runtime/lam_mpi_finalize.c b/src/mpi/runtime/lam_mpi_finalize.c index d0c17b1c8e..4a44e0fd03 100644 --- a/src/mpi/runtime/lam_mpi_finalize.c +++ b/src/mpi/runtime/lam_mpi_finalize.c @@ -7,6 +7,7 @@ #include "lam/constants.h" #include "lam/runtime/runtime.h" #include "mpi.h" +#include "mpi/group/group.h" #include "mpi/runtime/runtime.h" #include "mca/lam/base/base.h" #include "mca/mpi/ptl/ptl.h" @@ -49,6 +50,11 @@ int lam_mpi_finalize(void) /* Leave LAM */ + /* free group resources */ + if (LAM_SUCCESS != (ret = lam_group_finalize())) { + return ret; + } + if (LAM_SUCCESS != (ret = lam_finalize())) { return ret; }