diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2014-06-27 22:23:23 +0400 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2014-06-27 22:24:06 +0400 |
commit | e2ca2a98a2708d8d03dd243d4819469c711a5d91 (patch) | |
tree | 1565b61c20021d24ffb8311cbc00d09c780fafde | |
parent | d5776039b12c3c1016b3bb6ccede69bacf23ae1e (diff) | |
download | accel-ppp-xebd-e2ca2a98a2708d8d03dd243d4819469c711a5d91.tar.gz accel-ppp-xebd-e2ca2a98a2708d8d03dd243d4819469c711a5d91.zip |
log_file: block all signals in log thread
With unblocked signals log thread may catch SIGCHLD which causes zombie process.
-rw-r--r-- | accel-pppd/logs/log_file.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/accel-pppd/logs/log_file.c b/accel-pppd/logs/log_file.c index c759c32..518f2c9 100644 --- a/accel-pppd/logs/log_file.c +++ b/accel-pppd/logs/log_file.c @@ -116,6 +116,12 @@ static void *log_thread(void *unused) int iov_cnt; LIST_HEAD(msg_list); LIST_HEAD(free_list); + sigset_t set; + + sigfillset(&set); + sigdelset(&set, SIGKILL); + sigdelset(&set, SIGSTOP); + pthread_sigmask(SIG_BLOCK, &set, NULL); while (1) { pthread_mutex_lock(&lock); |