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.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index a9561224b72..ac2dcf1c2fe 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -1305,7 +1305,7 @@ cleanup_and_exit (int signum)
}
}
- exit(0);
+ exit(signum);
}
@@ -2185,6 +2185,7 @@ glusterfs_process_volfp (glusterfs_ctx_t *ctx, FILE *fp)
glusterfs_graph_t *graph = NULL;
int ret = -1;
xlator_t *trav = NULL;
+ int err = 0;
graph = glusterfs_graph_construct (fp);
if (!graph) {
@@ -2221,7 +2222,9 @@ out:
if (ret && !ctx->active) {
glusterfs_graph_destroy (graph);
/* there is some error in setting up the first graph itself */
- cleanup_and_exit (0);
+ err = -ret;
+ sys_write (ctx->daemon_pipe[1], (void *) &err, sizeof (err));
+ cleanup_and_exit (err);
}
return ret;