From e959f2e2322cfac811946d418406267629a2c12b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 17 Sep 1998 06:36:08 +0000 Subject: fixed a potential problem with wins_write_database() child processes. In sig_term() we were calling wins_write_database(0) which would fork a child. This child might then get killed by the same process killing off the parent. That process would then fork another child etc. The solution is to pass a "background" flag to wins_write_database(0) and only fork if this is set. (This used to be commit 1e1a512e3ff59f962fb3de382f671618bed60839) --- source3/nmbd/nmbd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/nmbd/nmbd.c') diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 482e136ba4..d7383fb736 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -68,7 +68,7 @@ static void sig_term(int sig) DEBUG(0,("Got SIGTERM: going down...\n")); /* Write out wins.dat file if samba is a WINS server */ - wins_write_database(); + wins_write_database(False); /* Remove all SELF registered names. */ release_my_names(); -- cgit