diff options
author | Lennart Weller <lhw@ring0.de> | 2017-09-17 22:17:45 +0000 |
---|---|---|
committer | Lennart Weller <lhw@ring0.de> | 2017-09-17 22:17:45 +0000 |
commit | 7ee3962eaca4214264964ae32c86de457a90e382 (patch) | |
tree | 5a784485351593ac6d74fa9fd9bbd8fe7c9c3fe0 /src/popen.c | |
parent | maintscript eludes me (diff) | |
parent | New upstream version 1.8.0+dfsg (diff) | |
download | netdata-7ee3962eaca4214264964ae32c86de457a90e382.tar.xz netdata-7ee3962eaca4214264964ae32c86de457a90e382.zip |
Updated version 1.8.0+dfsg from 'upstream/1.8.0+dfsg'
with Debian dir 412de09d9bca38fe00146ef090f9e53f76493882
Diffstat (limited to '')
-rw-r--r-- | src/popen.c | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/src/popen.c b/src/popen.c index 8448b7311..27be61774 100644 --- a/src/popen.c +++ b/src/popen.c @@ -105,38 +105,8 @@ FILE *mypopen(const char *command, pid_t *pidptr) #endif // reset all signals - { - sigset_t sigset; - sigfillset(&sigset); - - if(pthread_sigmask(SIG_UNBLOCK, &sigset, NULL) == -1) - error("pre-execution of command '%s' on pid %d: could not unblock signals for threads.", command, getpid()); - - // We only need to reset ignored signals. - // Signals with signal handlers are reset by default. - struct sigaction sa; - sigemptyset(&sa.sa_mask); - sa.sa_handler = SIG_DFL; - sa.sa_flags = 0; - - if(sigaction(SIGINT, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGINT.", command, getpid()); - - if(sigaction(SIGTERM, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGTERM.", command, getpid()); - - if(sigaction(SIGPIPE, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGPIPE.", command, getpid()); - - if(sigaction(SIGHUP, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGHUP.", command, getpid()); - - if(sigaction(SIGUSR1, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGUSR1.", command, getpid()); - - if(sigaction(SIGUSR2, &sa, NULL) == -1) - error("pre-execution of command '%s' on pid %d: failed to set default signal handler for SIGUSR2.", command, getpid()); - } + signals_unblock(); + signals_reset(); debug(D_CHILDS, "executing command: '%s' on pid %d.", command, getpid()); execl("/bin/sh", "sh", "-c", command, NULL); |