summaryrefslogtreecommitdiff
path: root/source3/namedbsubnet.c
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1996-07-09 18:01:46 +0000
committerSamba Release Account <samba-bugs@samba.org>1996-07-09 18:01:46 +0000
commit9fdb312a69bc966aed8d917843559cb235e17a10 (patch)
tree7d4761669c5bc9600cd3ae7f39a1f216561580fd /source3/namedbsubnet.c
parent3545a9b8734bfabdff760253dd73216aad25b925 (diff)
downloadsamba-9fdb312a69bc966aed8d917843559cb235e17a10.tar.gz
samba-9fdb312a69bc966aed8d917843559cb235e17a10.tar.bz2
samba-9fdb312a69bc966aed8d917843559cb235e17a10.zip
sorted out various timer delay bugs: nameannounce.c nameserv.c
namedbname.c:search_for_name() wasn't looking for 0x1b as well as 0x0 and 0x20 name types. reduced number of retransmissions of packets from 4 to 3 times. added code that ensures remote lmhosts entries don't get deleted when a master browser cannot be found on a remote subnet. stopped forcing an election on remote subnets if a master browser cannot be found. stopped browse list and wins list from being written out too frequently. only add samba's names to local interfaces. add 0x1c name if we are a domain logon machine (needs more exploration). why bother reloading services when receiving a SIGTERM? sort out add_my_name_entry() and remove_name_entry() to deal with broadcast, samba as a WINS and samba using a WINS. properly. added extra debug information to help with expected response queue code. updated debug comments in become_master(). altered dump_names() DEBUG format. it looks prettier. altered wins.dat format to match DEBUG format. lkcl (This used to be commit 429f1f975e2936f2e220b656c51c211d48d47047)
Diffstat (limited to 'source3/namedbsubnet.c')
-rw-r--r--source3/namedbsubnet.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source3/namedbsubnet.c b/source3/namedbsubnet.c
index 5ede7b0b81..6b187b21bb 100644
--- a/source3/namedbsubnet.c
+++ b/source3/namedbsubnet.c
@@ -272,18 +272,22 @@ struct subnet_record *add_subnet_entry(struct in_addr bcast_ip,
void write_browse_list(void)
{
struct subnet_record *d;
-
pstring fname,fnamenew;
FILE *f;
+
+ static time_t lasttime = 0;
+ time_t t = time(NULL);
+
+ if (!lasttime) lasttime = t;
+ if (!updatedlists || t - lasttime < 5) return;
- if (!updatedlists) return;
+ lasttime = t;
+ updatedlists = False;
+ updatecount++;
dump_names();
dump_workgroups();
- updatedlists = False;
- updatecount++;
-
strcpy(fname,lp_lockdir());
trim_string(fname,NULL,"/");
strcat(fname,"/");
@@ -337,4 +341,3 @@ void write_browse_list(void)
DEBUG(3,("Wrote browse list %s\n",fname));
}
-