X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/a622b081808494796d3679acaebbf5ee364fe9de..45dadc36ce7759011b174a4597c55e899c9dfc04:/projects/stargazer/main.cpp diff --git a/projects/stargazer/main.cpp b/projects/stargazer/main.cpp index 80ec465b..37582348 100644 --- a/projects/stargazer/main.cpp +++ b/projects/stargazer/main.cpp @@ -46,9 +46,7 @@ #include "stg/plugin.h" #include "stg/logger.h" #include "stg/scriptexecuter.h" -#include "stg/conffiles.h" #include "stg/version.h" -#include "stg/pinger.h" #include "stg_timer.h" #include "settings_impl.h" #include "users_impl.h" @@ -101,7 +99,11 @@ else } } //----------------------------------------------------------------------------- +#ifdef LINUX int StartScriptExecuter(char * procName, int msgKey, int * msgID, SETTINGS_IMPL * settings) +#else +int StartScriptExecuter(char *, int msgKey, int * msgID, SETTINGS_IMPL * settings) +#endif { STG_LOGGER & WriteServLog = GetStgLogger(); @@ -142,12 +144,20 @@ switch (executerPid) case 0: delete settings; +#ifdef LINUX Executer(*msgID, executerPid, procName); +#else + Executer(*msgID, executerPid); +#endif return 1; default: if (executersPid.empty()) { +#ifdef LINUX Executer(*msgID, executerPid, NULL); +#else + Executer(*msgID, executerPid); +#endif } executersPid.insert(executerPid); } @@ -161,11 +171,11 @@ int ForkAndWait(const string &) #endif { #ifndef NO_DAEMON -stgChildPid = fork(); +pid_t childPid = fork(); string startFile = confDir + START_FILE; unlink(startFile.c_str()); -switch (stgChildPid) +switch (childPid) { case -1: return -1; @@ -286,6 +296,10 @@ for (size_t i = 0; i < settings->GetExecutersNum(); i++) PIDFile pidFile(settings->GetPIDFileName()); +sigset_t signalSet; +sigfillset(&signalSet); +pthread_sigmask(SIG_BLOCK, &signalSet, NULL); + StartTimer(); WaitTimer(); if (!IsStgTimerRunning()) @@ -393,10 +407,6 @@ WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++"); creat(startFile.c_str(), S_IRUSR); #endif -sigset_t signalSet; -sigfillset(&signalSet); -pthread_sigmask(SIG_BLOCK, &signalSet, NULL); - while (true) { sigfillset(&signalSet);