]> git.stg.codes - stg.git/blobdiff - projects/stargazer/main.cpp
Un-ignore SIGHUP by default.
[stg.git] / projects / stargazer / main.cpp
index 73786c4efd6c0cc46ba8aa805b9edaca0d9687cb..de0476879c3ca11945c650bdb1512f5bc3867f83 100644 (file)
@@ -266,6 +266,11 @@ for (size_t i = 0; i < settings.GetExecutersNum(); i++)
 
 PIDFile pidFile(settings.GetPIDFileName());
 
+struct sigaction sa;
+memset(&sa, 0, sizeof(sa));
+sa.sa_handler = SIG_DFL;
+sigaction(SIGHUP, &sa, NULL); // Apparently FreeBSD ignores SIGHUP by default when launched from rc.d at bot time.
+
 sigset_t signalSet;
 sigfillset(&signalSet);
 pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
@@ -363,6 +368,8 @@ while (running)
 
 WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
 
+manager.stop();
+
 if (loop.Stop())
     WriteServLog("Event loop not stopped.");