git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Store parser answer in configproto.
[stg.git]
/
stglibs
/
scriptexecuter.lib
/
scriptexecuter.c
diff --git
a/stglibs/scriptexecuter.lib/scriptexecuter.c
b/stglibs/scriptexecuter.lib/scriptexecuter.c
index 462d310bbc57bf84307ae78b3b20ebd8b7d3b505..bdf60230f3530a72225fd62920ba6af8375f089d 100644
(file)
--- a/
stglibs/scriptexecuter.lib/scriptexecuter.c
+++ b/
stglibs/scriptexecuter.lib/scriptexecuter.c
@@
-40,27
+40,28
@@
if (msgsnd(msgid, (void *)&sd, MAX_SCRIPT_LEN, 0) < 0)
return 0;
}
//-----------------------------------------------------------------------------
return 0;
}
//-----------------------------------------------------------------------------
-#if
def 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
{
+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;
-#if
def 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,21
+90,17
@@
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;
- ret = msgrcv(msgid, &sd, MAX_SCRIPT_LEN, 0, 0);
+
int
ret = msgrcv(msgid, &sd, MAX_SCRIPT_LEN, 0, 0);
if (ret < 0)
{
usleep(20000);
continue;
}
if (ret < 0)
{
usleep(20000);
continue;
}
-
int
ret = system(sd.script);
+ ret = system(sd.script);
if (ret == -1)
{
// Fork failed
if (ret == -1)
{
// Fork failed