]> git.stg.codes - stg.git/blobdiff - projects/stargazer/main.cpp
Ticket 26. The STG_LOGGER & writeServLog unnecessary variable getting removed in the
[stg.git] / projects / stargazer / main.cpp
index b8857633a18b9bc4c681fcd10968e6c083162a71..11f4c723d89ab2a056e7e35b8a60f0ad9f9a0601 100644 (file)
@@ -221,7 +221,6 @@ if (getuid())
     }
 
 SETTINGS_IMPL settings(argc == 2 ? argv[1] : "");
-SETTINGS_IMPL newSettings = settings;
 
 if (settings.ReadSettings())
     {
@@ -339,18 +338,22 @@ while (running)
     switch (sig)
         {
         case SIGHUP:
+            {
+            SETTINGS_IMPL newSettings(settings);
             if (newSettings.ReadSettings())
                 {
-                STG_LOGGER & WriteServLog = GetStgLogger();
-
                 if (newSettings.GetLogFileName() != "")
                     WriteServLog.SetLogFileName(newSettings.GetLogFileName());
 
                 WriteServLog("ReadSettings error. %s", newSettings.GetStrError().c_str());
-                return -1;
+                }
+            else
+                {
+                settings = newSettings;
                 }
             traffCnt.Reload();
-            manager.reload();
+            manager.reload(settings);
+            }
             break;
         case SIGTERM:
             running = false;
@@ -374,6 +377,8 @@ while (running)
 
 WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
 
+manager.stop();
+
 if (loop.Stop())
     WriteServLog("Event loop not stopped.");