From 7ba33d57fa45891b0a8b646e179176b7c2cbfd03 Mon Sep 17 00:00:00 2001 From: "Samuel K. Gutierrez" Date: Tue, 24 Apr 2018 10:30:55 -0600 Subject: [PATCH] Plug leak in ssg client close path. --- src/sdsdkv-client.h | 8 ++++++-- src/sdsdkv-server.h | 8 +++----- tests/trivial.cc | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/sdsdkv-client.h b/src/sdsdkv-client.h index 830d9fa..3b5d4b6 100644 --- a/src/sdsdkv-client.h +++ b/src/sdsdkv-client.h @@ -199,8 +199,12 @@ struct sdsdkv_client : public personality { } sdskv_client_finalize(m_kvcl); // - ssg_group_destroy(m_gid); - ssg_finalize(); + rc = ssg_group_detach(m_gid); + if (rc != SSG_SUCCESS) return SDSDKV_ERR_SERVICE; + rc = ssg_group_destroy(m_gid); + if (rc != SSG_SUCCESS) return SDSDKV_ERR_SERVICE; + rc = ssg_finalize(); + if (rc != SSG_SUCCESS) return SDSDKV_ERR_SERVICE; // ch_placement_finalize(m_place); // diff --git a/src/sdsdkv-server.h b/src/sdsdkv-server.h index 4893362..635a02b 100644 --- a/src/sdsdkv-server.h +++ b/src/sdsdkv-server.h @@ -163,16 +163,14 @@ struct sdsdkv_server : public personality { m_mpi->get_world_id() ); #endif - // - ssg_group_destroy(m_gid); - ssg_finalize(); - // return SDSDKV_SUCCESS; } int close(void) { - //margo_finalize(m_mid); + ssg_group_destroy(m_gid); + ssg_finalize(); + // return SDSDKV_SUCCESS; } // diff --git a/tests/trivial.cc b/tests/trivial.cc index f2784e5..9c9f84b 100644 --- a/tests/trivial.cc +++ b/tests/trivial.cc @@ -52,7 +52,7 @@ main(int argc, char **argv) /* .init_comm = */ MPI_COMM_WORLD, /* .personality = */ - (rank % 2 == 0) ? SDSDKV_PERSONALITY_CLIENT : SDSDKV_PERSONALITY_SERVER, + (rank % 2 == 0) ? SDSDKV_PERSONALITY_SERVER: SDSDKV_PERSONALITY_CLIENT, /* .hash_be = */ SDSDKV_HASHING_CH_PLACEMENT, /* .db_type = */