}
SETTINGS_IMPL settings(argc == 2 ? argv[1] : "");
-SETTINGS_IMPL newSettings = settings;
if (settings.ReadSettings())
{
switch (sig)
{
case SIGHUP:
+ {
+ SETTINGS_IMPL newSettings(settings);
if (newSettings.ReadSettings())
{
STG_LOGGER & WriteServLog = GetStgLogger();
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;
WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
+manager.stop();
+
if (loop.Stop())
WriteServLog("Event loop not stopped.");