]> git.stg.codes - stg.git/blobdiff - projects/stargazer/main.cpp
Виправлено роботу з перекодуванням рядків
[stg.git] / projects / stargazer / main.cpp
index 7c9945b080670215343fa2736f67a5315b22918e..2d5b808f6a5ef21e38f0eb0eebcea74110eb1e7b 100644 (file)
@@ -24,7 +24,7 @@
  $Author: faust $
  */
 
-#include <stdio.h>
+//#include <stdio.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <sys/stat.h>
 #include <sys/wait.h>
 #include <dlfcn.h>
-#include <signal.h>
 #include <fcntl.h>
 
+#include <csignal>
+#include <cerrno>
 #include <fstream>
 #include <vector>
 #include <set>
@@ -93,7 +94,7 @@ class STG_STOPPER
 {
 public:
     STG_STOPPER() { nonstop = true; }
-    bool    GetStatus() { return nonstop; };
+    bool    GetStatus() const { return nonstop; };
     #ifdef NO_DAEMON
     void    Stop(const char * __file__, int __line__)
     #else
@@ -128,12 +129,6 @@ else
     }
 }
 //-----------------------------------------------------------------------------
-void CatchPROF(int)
-{
-/*STG_LOGGER & WriteServLog = GetStgLogger();
-WriteServLog("CatchPROF");*/
-}
-//-----------------------------------------------------------------------------
 void CatchUSR1(int)
 {
 
@@ -203,10 +198,10 @@ if (childPid == stgChildPid)
     childExited = true;
     }
 }
-//-----------------------------------------------------------------------------
+/*//-----------------------------------------------------------------------------
 void CatchSEGV(int, siginfo_t *, void *)
 {
-/*char fileName[50];
+char fileName[50];
 sprintf(fileName, "/tmp/stg_segv.%d", getpid());
 FILE * f = fopen(fileName, "wt");
 if (f)
@@ -254,8 +249,8 @@ segv_action.sa_sigaction = NULL;
 segv_action.sa_flags = SA_SIGINFO;
 segv_action.sa_restorer = NULL;
 
-sigaction(SIGSEGV, &segv_action, &segv_action_old);*/
-}
+sigaction(SIGSEGV, &segv_action, &segv_action_old);
+}*/
 //-----------------------------------------------------------------------------
 static void SetSignalHandlers()
 {
@@ -282,13 +277,6 @@ newsa.sa_handler = CatchTERM;
 newsa.sa_mask = sigmask;
 newsa.sa_flags = 0;
 sigaction(SIGINT, &newsa, &oldsa);
-/*///////
-sigemptyset(&sigmask);
-sigaddset(&sigmask, SIGPROF);
-newsa.sa_handler = CatchPROF;
-newsa.sa_mask = sigmask;
-newsa.sa_flags = 0;
-sigaction(SIGPROF, &newsa, &oldsa);*/
 //////
 sigemptyset(&sigmask);
 sigaddset(&sigmask, SIGPIPE);
@@ -506,7 +494,6 @@ if (settings->ReadSettings())
 string startFile(settings->GetConfDir() + START_FILE);
 #endif
 
-//SetSignalHandlers();
 if (ForkAndWait(settings->GetConfDir()) < 0)
     {
     STG_LOGGER & WriteServLog = GetStgLogger();
@@ -518,14 +505,13 @@ STG_LOGGER & WriteServLog = GetStgLogger();
 WriteServLog.SetLogFileName(settings->GetLogFileName());
 WriteServLog("Stg v. %s", SERVER_VERSION);
 
-for (int i = 0; i < settings->GetExecutersNum(); i++)
+for (size_t i = 0; i < settings->GetExecutersNum(); i++)
     {
     int ret = StartScriptExecuter(argv[0], settings->GetExecMsgKey(), &msgID, settings);
     if (ret < 0)
         {
         STG_LOGGER & WriteServLog = GetStgLogger();
         WriteServLog("Start Script Executer error!");
-        //goto exitLbl;
         return 1;
         }
     if (ret == 1)
@@ -568,7 +554,6 @@ admins = new ADMINS(dataStore);
 users = new USERS(settings, dataStore, tariffs, admins->GetSysAdmin());
 traffCnt = new TRAFFCOUNTER(users, tariffs, settings->GetRulesFileName());
 traffCnt->SetMonitorDir(settings->GetMonitorDir());
-//tariffs->SetUsers(users);
 
 modSettings = settings->GetModulesSettings();
 
@@ -660,8 +645,6 @@ WriteServLog("+++++++++++++++++++++++++++++++++++++++++++++");
 creat(startFile.c_str(), S_IRUSR);
 #endif
 
-//*a_kill_it = 0;
-
 while (nonstop.GetStatus())
     {
     if (needRulesReloading)
@@ -715,7 +698,7 @@ if (loop.Stop())
 
 exitLblNotStarted:
 
-/*modIter = modules.begin();
+modIter = modules.begin();
 while (modIter != modules.end())
     {
     std::string name = modIter->GetFileName();
@@ -728,7 +711,7 @@ while (modIter != modules.end())
         printfd(__FILE__, "Failed to unload module '%s'\n", name.c_str());
         }
     ++modIter;
-    }*/
+    }
 
 if (traffCnt)
     {