summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/server_exit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index 1de9a0989c..b69eb4aab3 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -93,7 +93,12 @@ static void exit_server_common(enum server_exit_reason how,
print_notify_send_messages(smbd_messaging_context(), 3);
/* delete our entry in the serverid database. */
- serverid_deregister_self();
+ if (am_parent) {
+ /*
+ * For children the parent takes care of cleaning up
+ */
+ serverid_deregister_self();
+ }
#ifdef WITH_DFS
if (dcelogin_atmost_once) {