diff options
author | Risto Vaarandi <risto.vaarandi@gmail.com> | 2013-09-26 14:41:29 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-09-26 14:41:29 +0200 |
commit | a6c0d5235f128b0dac3c49f5681b0880610cbeb9 (patch) | |
tree | 2217fdcb3b9e3957f1cf42d6af69b90870241413 /plugins/omprog/omprog.c | |
parent | 3b78f4c50ce24dcc5d85c1ea31396768b33e1e0c (diff) | |
download | rsyslog-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.c | 5 |
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); |