]> git.stg.codes - stg.git/blobdiff - stglibs/scriptexecuter.lib/scriptexecuter.c
Allow to assign 0.0.0.0 to multiple users.
[stg.git] / stglibs / scriptexecuter.lib / scriptexecuter.c
index 462d310bbc57bf84307ae78b3b20ebd8b7d3b505..728082ae350ba079e5404f4b6a3168eb0e805002 100644 (file)
@@ -40,27 +40,29 @@ if (msgsnd(msgid, (void *)&sd, MAX_SCRIPT_LEN, 0) < 0)
 return 0;
 }
 //-----------------------------------------------------------------------------
 return 0;
 }
 //-----------------------------------------------------------------------------
-#ifdef LINUX
+#if defined(LINUX) || defined(DARWIN)
 void Executer(int msgID, pid_t pid, char * procName)
 #else
 void Executer(int msgID, pid_t pid)
 #endif
 {
 void Executer(int msgID, pid_t pid, char * procName)
 #else
 void Executer(int msgID, pid_t pid)
 #endif
 {
+int ret;
+struct SCRIPT_DATA sd;
+struct sigaction newsa, oldsa;
+sigset_t sigmask;
+
 msgid = msgID;
 if (pid)
     return;
 nonstop = 1;
 
 msgid = msgID;
 if (pid)
     return;
 nonstop = 1;
 
-#ifdef LINUX
+#if defined(LINUX) || defined(DARWIN)
 memset(procName, 0, strlen(procName));
 strcpy(procName, "stg-exec");
 #else
 setproctitle("stg-exec");
 #endif
 
 memset(procName, 0, strlen(procName));
 strcpy(procName, "stg-exec");
 #else
 setproctitle("stg-exec");
 #endif
 
-struct sigaction newsa, oldsa;
-sigset_t sigmask;
-
 sigemptyset(&sigmask);
 sigaddset(&sigmask, SIGTERM);
 newsa.sa_handler = SIG_IGN;
 sigemptyset(&sigmask);
 sigaddset(&sigmask, SIGTERM);
 newsa.sa_handler = SIG_IGN;
@@ -89,10 +91,6 @@ newsa.sa_mask = sigmask;
 newsa.sa_flags = 0;
 sigaction(SIGUSR1, &newsa, &oldsa);
 
 newsa.sa_flags = 0;
 sigaction(SIGUSR1, &newsa, &oldsa);
 
-int ret;
-
-struct SCRIPT_DATA sd;
-
 while (nonstop)
     {
     sd.mtype = 1;
 while (nonstop)
     {
     sd.mtype = 1;
@@ -103,7 +101,7 @@ while (nonstop)
         usleep(20000);
         continue;
         }
         usleep(20000);
         continue;
         }
-    int ret = system(sd.script);
+    ret = system(sd.script);
     if (ret == -1)
         {
         // Fork failed
     if (ret == -1)
         {
         // Fork failed