summaryrefslogtreecommitdiffstats
path: root/glusterfsd/src/glusterfsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'glusterfsd/src/glusterfsd.c')
-rw-r--r--glusterfsd/src/glusterfsd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index f1cd0270735..332f8f3a740 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -654,9 +654,15 @@ cleanup_and_exit (int signum)
ctx = glusterfs_ctx_get ();
/* TODO: is this the right place? */
+ if (!ctx)
+ return;
+ if (ctx->cleanup_started)
+ return;
+
+ ctx->cleanup_started = 1;
glusterfs_mgmt_pmap_signout (ctx);
- if (ctx && ctx->mgmt)
+ if (ctx->mgmt)
rpc_clnt_destroy (ctx->mgmt);
gf_log ("glusterfsd", GF_LOG_NORMAL, "shutting down");