From 8bf6183310d2ded759537b9ba893646dcc3fc424 Mon Sep 17 00:00:00 2001 From: Marius Tolzmann Date: Mon, 27 Jul 2015 23:56:56 +0200 Subject: [PATCH] mxqd: Fix return value of catchall() --- mxqd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mxqd.c b/mxqd.c index fdc1e21..bbaf2d1 100644 --- a/mxqd.c +++ b/mxqd.c @@ -1434,15 +1434,16 @@ int catchall(struct mxq_server *server) { res = waitid(P_ALL, 0, &siginfo, WEXITED|WNOHANG|WNOWAIT); if (res == -1) { + /* no childs (left) => break loop */ if (errno == ECHILD) - return 0; + break; mx_log_err("waitid: %m"); return 0; } - /* no childs changed state => return */ + /* no (more) childs changed state => break loop */ if (res == 0 && siginfo.si_pid == 0) - return 0; + break; assert(siginfo.si_pid > 1);