sorted out various timer delay bugs: nameannounce.c nameserv.c
[kai/samba.git] / source3 / namedbsubnet.c
index 5ede7b0b81475b328f3c8b4114b2bdee7d2bcee9..6b187b21bb8a10db9f01ff194b38a2907046dd28 100644 (file)
@@ -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));
 }
 
-