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