1diff -uNr samba-2.999+3.0.alpha21.orig/source/nmbd/nmbd_subnetdb.c samba-2.999+3.0.alpha21/source/nmbd/nmbd_subnetdb.c 2--- samba-2.999+3.0.alpha21.orig/source/nmbd/nmbd_subnetdb.c 2002-11-26 20:54:19.000000000 -0600 3+++ samba-2.999+3.0.alpha21/source/nmbd/nmbd_subnetdb.c 2002-12-16 23:34:13.000000000 -0600 4@@ -214,12 +214,16 @@ 5 extern struct in_addr loopback_ip; 6 7 if(num_interfaces == 0) { 8+ void (*old_handler)(int); 9+ 10 DEBUG(0,("create_subnets: No local interfaces !\n")); 11 DEBUG(0,("create_subnets: Waiting for an interface to appear ...\n")); 12+ old_handler = CatchSignal( SIGTERM, SIGNAL_CAST SIG_DFL ); 13 while (iface_count() == 0) { 14 sleep(5); 15 load_interfaces(); 16 } 17+ CatchSignal( SIGTERM, SIGNAL_CAST old_handler ); 18 } 19 20 num_interfaces = iface_count(); 21