summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-08-08 21:11:56 +1000
committerMichael Adam <obnox@samba.org>2008-08-13 11:54:12 +0200
commitb5f4373be5ac0de57dffd8721f41fa1ff1e96182 (patch)
tree13d002230f2a64871deb36ed390b4e5477ed1935
parent4b2399d5c065f17e6885f8c53cfd8310d03235ed (diff)
downloadsamba-b5f4373be5ac0de57dffd8721f41fa1ff1e96182.tar.gz
samba-b5f4373be5ac0de57dffd8721f41fa1ff1e96182.tar.bz2
samba-b5f4373be5ac0de57dffd8721f41fa1ff1e96182.zip
fixed child exit handling and IP release handling
(This used to be commit 6fe27d296c389473c24e8c627a61bd56b364ad9f)
-rw-r--r--source3/lib/ctdbd_conn.c2
-rw-r--r--source3/smbd/server.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c
index 5fc4b7ce1f..1ae23bcf82 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 df6b6ae41d..265d4927f5 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);
}
}