summaryrefslogtreecommitdiffstats
path: root/plugins/omprog/omprog.c
diff options
context:
space:
mode:
authorRisto Vaarandi <risto.vaarandi@gmail.com>2013-09-26 14:41:29 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2013-09-26 14:41:29 +0200
commita6c0d5235f128b0dac3c49f5681b0880610cbeb9 (patch)
tree2217fdcb3b9e3957f1cf42d6af69b90870241413 /plugins/omprog/omprog.c
parent3b78f4c50ce24dcc5d85c1ea31396768b33e1e0c (diff)
downloadrsyslog-a6c0d5235f128b0dac3c49f5681b0880610cbeb9.tar.gz
rsyslog-a6c0d5235f128b0dac3c49f5681b0880610cbeb9.tar.bz2
rsyslog-a6c0d5235f128b0dac3c49f5681b0880610cbeb9.zip
bugfix: omprog blocked signals to executed process
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
Diffstat (limited to 'plugins/omprog/omprog.c')
-rw-r--r--plugins/omprog/omprog.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/omprog/omprog.c b/plugins/omprog/omprog.c
index 69261656..d821ff16 100644
--- a/plugins/omprog/omprog.c
+++ b/plugins/omprog/omprog.c
@@ -122,6 +122,7 @@ static void execBinary(instanceData *pData, int fdStdin)
{
int i;
struct sigaction sigAct;
+ sigset_t set;
char *newargv[] = { NULL };
char *newenviron[] = { NULL };
@@ -146,10 +147,12 @@ static void execBinary(instanceData *pData, int fdStdin)
/* reset signal handlers to default */
memset(&sigAct, 0, sizeof(sigAct));
- sigfillset(&sigAct.sa_mask);
+ sigemptyset(&sigAct.sa_mask);
sigAct.sa_handler = SIG_DFL;
for(i = 1 ; i < NSIG ; ++i)
sigaction(i, &sigAct, NULL);
+ sigemptyset(&set);
+ sigprocmask(SIG_SETMASK, &set, NULL);
alarm(0);