>From signal(2) The behavior of signal() varies across UNIX versions, and has also var‐ ied historically across different versions of Linux. Avoid its use: use sigaction(2) instead. See Portability below. Replaced signal() with sigaction() in daemon.c service_loop() Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> --- daemon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon.c b/daemon.c index 3c48dc0..8c28b3d 100644 --- a/daemon.c +++ b/daemon.c @@ -1002,6 +1002,7 @@ static int service_loop(struct socketlist *socklist) { struct pollfd *pfd; int i; + struct sigaction sa; pfd = xcalloc(socklist->nr, sizeof(struct pollfd)); @@ -1010,7 +1011,9 @@ static int service_loop(struct socketlist *socklist) pfd[i].events = POLLIN; } - signal(SIGCHLD, child_handler); + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = child_handler; + sigaction(SIGCHLD, &sa, 0); for (;;) { int i; -- 2.0.0.rc4.6.g127602c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html