--- /dev/null
+Index: samba-3.0.21c/source/nmbd/nmbd_subnetdb.c
+===================================================================
+--- samba-3.0.21c.orig/source/nmbd/nmbd_subnetdb.c 2006-02-25 11:57:10.924494109 +0100
++++ samba-3.0.21c/source/nmbd/nmbd_subnetdb.c 2006-02-25 11:58:19.605636501 +0100
+@@ -214,12 +214,16 @@
+ struct in_addr unicast_ip, ipzero;
+
+ 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();