summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd_serverlistdb.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-09-17 06:36:08 +0000
committerAndrew Tridgell <tridge@samba.org>1998-09-17 06:36:08 +0000
commite959f2e2322cfac811946d418406267629a2c12b (patch)
tree84205289f154795242b9bf47420c6c848c450cd0 /source3/nmbd/nmbd_serverlistdb.c
parent20d3988e06c0b8eab7a63ece62c538e8eeee130e (diff)
downloadsamba-e959f2e2322cfac811946d418406267629a2c12b.tar.gz
samba-e959f2e2322cfac811946d418406267629a2c12b.tar.bz2
samba-e959f2e2322cfac811946d418406267629a2c12b.zip
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)
Diffstat (limited to 'source3/nmbd/nmbd_serverlistdb.c')
-rw-r--r--source3/nmbd/nmbd_serverlistdb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c
index a4dab6f419..458fbd0085 100644
--- a/source3/nmbd/nmbd_serverlistdb.c
+++ b/source3/nmbd/nmbd_serverlistdb.c
@@ -321,6 +321,8 @@ void write_browse_list(time_t t, BOOL force_write)
return;
}
+ lasttime = t;
+
dump_workgroups(force_write);
for (subrec = FIRST_SUBNET; subrec ; subrec = NEXT_SUBNET_INCLUDING_UNICAST(subrec))
@@ -335,7 +337,6 @@ void write_browse_list(time_t t, BOOL force_write)
if(!list_changed)
return;
- lasttime = t;
updatecount++;
pstrcpy(fname,lp_lockdir());