diff options
author | antirez <antirez@gmail.com> | 2015-11-30 12:05:59 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2015-11-30 12:05:59 +0100 |
commit | 077a196501e8e84cbfe5965c3bc99a173c680187 (patch) | |
tree | 5bb0c78d54a6bdcd63c8446b07b2f9cacd0b6e06 | |
parent | 4f7d1e46cf267a1900d2abd8cf5df8f95f7f63d6 (diff) | |
download | redis-waitpid-fix.tar.gz |
Better SIGCHLD handling for #2897 debugging.waitpid-fix
-rw-r--r-- | src/bio.c | 1 | ||||
-rw-r--r-- | src/redis.c | 3 |
2 files changed, 3 insertions, 1 deletions
@@ -152,6 +152,7 @@ void *bioProcessBackgroundJobs(void *arg) { * receive the watchdog signal. */ sigemptyset(&sigset); sigaddset(&sigset, SIGALRM); + sigaddset(&sigset, SIGCHLD); if (pthread_sigmask(SIG_BLOCK, &sigset, NULL)) redisLog(REDIS_WARNING, "Warning: can't mask SIGALRM in bio.c thread: %s", strerror(errno)); diff --git a/src/redis.c b/src/redis.c index 3afe1601d..203d8d780 100644 --- a/src/redis.c +++ b/src/redis.c @@ -1761,7 +1761,8 @@ void initServer(void) { int j; signal(SIGHUP, SIG_IGN); - signal(SIGPIPE, SIG_IGN); + signal(SIGPIPE, SIG_IGN); /* No write(2) generated signals. */ + signal(SIGCHLD, SIG_DFL); /* We want zombies to queue for waitpid(). */ setupSignalHandlers(); if (server.syslog_enabled) { |