--- smsdaemon/daemon.cpp 2008/12/08 21:49:49 158 +++ smsdaemon/daemon.cpp 2009/09/16 16:37:34 325 @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -25,7 +26,9 @@ switch (sig) { case SIGHUP: - Logger::logMessage("hangup signal catched"); + Logger::logMessage("Reload config"); + Common::instance()->reloadConfig = true; + break; case SIGTERM: @@ -44,8 +47,8 @@ { Common* cmn = Common::instance(); - std::string userstr = cmn->GetConfigfile()->GetValue("smsdaemon","user"); - std::string groupstr = cmn->GetConfigfile()->GetValue("smsdaemon","group"); + std::string userstr = cmn->GetConfigfile()->GetValue("smsdaemon","user",""); + std::string groupstr = cmn->GetConfigfile()->GetValue("smsdaemon","group",""); passwd* pass = getpwnam(userstr.c_str()); if (pass != 0) @@ -74,7 +77,13 @@ void daemonCleanup() { - unlink( Common::instance()->pidfile.c_str() ); + Common* cmn = Common::instance(); + Logger::logMessage("Cleaning up daemon"); + + seteuid(0); + setegid(0); + unlink( cmn->pidfile.c_str() ); + } void daemonize()