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.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index 3de12bc125f..f589ce69ecd 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -1563,7 +1563,20 @@ cleanup_and_exit (int signum)
}
#endif
+ /* call fini() of each xlator */
+
+ /*call fini for glusterd xlator */
+ /* TODO : Invoke fini for rest of the xlators */
trav = NULL;
+ if (ctx->active)
+ trav = ctx->active->top;
+ while (trav) {
+ if (should_call_fini(ctx, trav)) {
+ THIS = trav;
+ trav->fini (trav);
+ }
+ trav = trav->next;
+ }
/* NOTE: Only the least significant 8 bits i.e (signum & 255)
will be available to parent process on calling exit() */