smbd/cleanupd: use smbd_reinit_after_fork()
authorRalph Boehme <slow@samba.org>
Tue, 5 Jul 2016 13:20:53 +0000 (15:20 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 10 Jul 2016 20:28:13 +0000 (22:28 +0200)
Using smbd_reinit_after_fork() rather then reinit_after_fork() ensures
am_parent is reset to NULL. Otherwise, when exiting for some reason, the
inherited atexit handler killkids() calls kill(0,SIGTERM) terminating
our whole process group including the main smbd.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12016

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/smbd/server.c

index cdcdcc25a2c4d12f46b424c25dc5be3a4b22cf36..e68e0355b0f136c2a6b26851d4182d1de10010e8 100644 (file)
@@ -478,7 +478,7 @@ static bool cleanupd_init(struct messaging_context *msg, bool interactive,
 
        close(up_pipe[0]);
 
-       status = reinit_after_fork(msg, ev, true, "cleanupd");
+       status = smbd_reinit_after_fork(msg, ev, true, "cleanupd");
        if (!NT_STATUS_IS_OK(status)) {
                DBG_WARNING("reinit_after_fork failed: %s\n",
                            nt_errstr(status));