X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/612fd062ef89198e9de7b3b9efdec127aad3a74c..3df642f3d2537dc5531a8d91c6d85927b34b46c7:/projects/stargazer/main.cpp diff --git a/projects/stargazer/main.cpp b/projects/stargazer/main.cpp index 5f4c7f24..5b4a06fc 100644 --- a/projects/stargazer/main.cpp +++ b/projects/stargazer/main.cpp @@ -35,6 +35,7 @@ #include #include #include +#include // srandom, exit #include #include #include @@ -53,6 +54,8 @@ #include "users_impl.h" #include "admins_impl.h" #include "tariffs_impl.h" +#include "services_impl.h" +#include "corps_impl.h" #include "traffcounter_impl.h" #include "plugin_runner.h" #include "store_loader.h" @@ -90,8 +93,8 @@ return lhs.GetStopPosition() > rhs.GetStopPosition(); class STG_STOPPER { public: - STG_STOPPER() { nonstop = true; } - bool GetStatus() const { return nonstop; }; + STG_STOPPER() : nonstop(true) {} + bool GetStatus() const { return nonstop; } #ifdef NO_DAEMON void Stop(const char * __file__, int __line__) #else @@ -346,12 +349,12 @@ switch (executerPid) case 0: delete settings; - Executer(msgKey, *msgID, executerPid, procName); + Executer(*msgID, executerPid, procName); return 1; default: if (executersPid.empty()) { - Executer(msgKey, *msgID, executerPid, NULL); + Executer(*msgID, executerPid, NULL); } executersPid.insert(executerPid); } @@ -445,6 +448,8 @@ TARIFFS_IMPL * tariffs = NULL; ADMINS_IMPL * admins = NULL; USERS_IMPL * users = NULL; TRAFFCOUNTER_IMPL * traffCnt = NULL; +SERVICES_IMPL * services = NULL; +CORPORATIONS_IMPL * corps = NULL; int msgID = -11; { @@ -542,6 +547,8 @@ tariffs = new TARIFFS_IMPL(dataStore); admins = new ADMINS_IMPL(dataStore); users = new USERS_IMPL(settings, dataStore, tariffs, admins->GetSysAdmin()); traffCnt = new TRAFFCOUNTER_IMPL(users, settings->GetRulesFileName()); +services = new SERVICES_IMPL(dataStore); +corps = new CORPORATIONS_IMPL(dataStore); traffCnt->SetMonitorDir(settings->GetMonitorDir()); modSettings = settings->GetModulesSettings(); @@ -559,6 +566,8 @@ for (size_t i = 0; i < modSettings.size(); i++) admins, tariffs, users, + services, + corps, traffCnt, dataStore, settings) @@ -620,11 +629,11 @@ srandom(stgTime); * * (c) man 2 nice */ -errno = 0; +/*errno = 0; if (nice(-19) && errno) { printfd(__FILE__, "nice failed: '%s'\n", strerror(errno)); WriteServLog("nice failed: '%s'", strerror(errno)); -} +}*/ WriteServLog("Stg started successfully."); WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++"); @@ -725,6 +734,8 @@ KillExecuters(); StopStgTimer(); WriteServLog("StgTimer: Stop successfull."); +delete corps; +delete services; delete traffCnt; delete users; delete admins;