From b5f4373be5ac0de57dffd8721f41fa1ff1e96182 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 8 Aug 2008 21:11:56 +1000 Subject: [PATCH] fixed child exit handling and IP release handling (This used to be commit 6fe27d296c389473c24e8c627a61bd56b364ad9f) --- source3/lib/ctdbd_conn.c | 2 ++ source3/smbd/server.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c index 5fc4b7ce1fd..1ae23bcf827 100644 --- a/source3/lib/ctdbd_conn.c +++ b/source3/lib/ctdbd_conn.c @@ -1190,6 +1190,8 @@ NTSTATUS ctdbd_register_ips(struct ctdbd_connection *conn, */ SMB_ASSERT(conn->release_ip_handler == NULL); + conn->release_ip_handler = release_ip_handler; + /* * We want to be told about IP releases */ diff --git a/source3/smbd/server.c b/source3/smbd/server.c index df6b6ae41db..265d4927f58 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -986,7 +986,9 @@ static void release_ip(const char *ip, void *priv) away */ DEBUG(0,("Got release IP message for our IP %s - exiting immediately\n", ip)); - _exit(0); + /* note we must exit with non-zero status so the unclean handler gets + called in the parent, so that the brl database is tickled */ + _exit(1); } } -- 2.34.1