From a2944e99825943f91d0260c218de06817acfcf51 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 15 Jan 2009 15:51:40 -0800 Subject: [PATCH] Allow reinit_after_fork to be called safely from within swat and other binaries that don't have an event context or a msg context. Fixes crash bug in swat. Jeremy. --- source/lib/util.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/source/lib/util.c b/source/lib/util.c index 321aedbe9e7..1ed70fd0d8b 100644 --- a/source/lib/util.c +++ b/source/lib/util.c @@ -1052,18 +1052,22 @@ bool reinit_after_fork(struct messaging_context *msg_ctx, return false; } - /* - * For clustering, we need to re-init our ctdbd connection after the - * fork - */ - status = messaging_reinit(msg_ctx); - if (!NT_STATUS_IS_OK(status)) { - DEBUG(0,("messaging_reinit() failed: %s\n", - nt_errstr(status))); - return false; + if (msg_ctx) { + /* + * For clustering, we need to re-init our ctdbd connection after the + * fork + */ + status = messaging_reinit(msg_ctx); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0,("messaging_reinit() failed: %s\n", + nt_errstr(status))); + return false; + } } - event_context_reinit(ev_ctx); + if (ev_ctx) { + event_context_reinit(ev_ctx); + } return true; } -- 2.11.4.GIT