check for sighup on each packet - otherwise it can take a _long_ time
authorAndrew Tridgell <tridge@samba.org>
Wed, 10 May 2000 11:49:55 +0000 (11:49 +0000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 10 May 2000 11:49:55 +0000 (11:49 +0000)
to reload services

source/smbd/process.c

index ac81116999e21adde066ecef88741b4fb894a45a..3d2a507cca7d5edfc87698e1cf1963dc9b16d2c1 100644 (file)
@@ -1012,6 +1012,18 @@ void smbd_process(void)
     /* free up temporary memory */
     lp_talloc_free();
 
+    /*
+     * If reload_after_sighup == True then we got a SIGHUP
+     * and are being asked to reload. Fix from <branko.cibej@hermes.si>
+     */
+    if (reload_after_sighup) {
+           /* become root */
+           unbecome_user();
+           DEBUG(1,("Reloading services after SIGHUP\n"));
+           reload_services(False);
+           reload_after_sighup = False;
+    }
+
     while(!receive_message_or_smb(InBuffer,BUFFER_SIZE,select_timeout,&got_smb))
     {
       if(!timeout_processing( deadtime, &select_timeout, &last_timeout_processing_time))