--- smsdaemon/daemon.cpp 2008/12/08 17:14:21 155 +++ smsdaemon/daemon.cpp 2008/12/18 06:53:29 196 @@ -12,7 +12,8 @@ #include "ConfigFile.h" #include "daemon.h" -#include "common.h" +#include "Common.h" +#include "Logger.h" @@ -24,17 +25,17 @@ switch (sig) { case SIGHUP: - Common::instance()->logMessage("hangup signal catched"); + Logger::logMessage("hangup signal catched"); break; case SIGTERM: - Common::instance()->logMessage("terminate signal catched...exiting"); + Logger::logMessage("terminate signal catched...exiting"); Common::instance()->mainContinue = false; break; default: std::stringstream ss; ss << "Received unknown signal: " << sig; - Common::instance()->logMessage(ss.str()); + Logger::logMessage(ss.str()); break; } } @@ -53,7 +54,7 @@ } else { - cmn->logMessage( string("could not lookup userid: ") + userstr ); + Logger::logMessage( string("could not lookup userid: ") + userstr ); exit(1); } @@ -65,7 +66,7 @@ } else { - cmn->logMessage( string("could not lookup groupid: ") + groupstr ); + Logger::logMessage( string("could not lookup groupid: ") + groupstr ); exit(1); } } @@ -73,7 +74,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()