X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/703ad5b9a14dc2a42849669d3618a8ba1136bb92..61b5cf35c82a5850ceb07fca5232a409e249444c:/stglibs/scriptexecuter.lib/scriptexecuter.c?ds=sidebyside diff --git a/stglibs/scriptexecuter.lib/scriptexecuter.c b/stglibs/scriptexecuter.lib/scriptexecuter.c index 462d310b..728082ae 100644 --- a/stglibs/scriptexecuter.lib/scriptexecuter.c +++ b/stglibs/scriptexecuter.lib/scriptexecuter.c @@ -40,27 +40,29 @@ if (msgsnd(msgid, (void *)&sd, MAX_SCRIPT_LEN, 0) < 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 { +int ret; +struct SCRIPT_DATA sd; +struct sigaction newsa, oldsa; +sigset_t sigmask; + 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 -struct sigaction newsa, oldsa; -sigset_t sigmask; - 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); -int ret; - -struct SCRIPT_DATA sd; - while (nonstop) { sd.mtype = 1; @@ -103,7 +101,7 @@ while (nonstop) usleep(20000); continue; } - int ret = system(sd.script); + ret = system(sd.script); if (ret == -1) { // Fork failed