From: William Lallemand Date: Tue, 16 Apr 2019 15:42:42 +0000 (+0200) Subject: BUG/MINOR: mworker: mworker_kill should apply on every children X-Git-Tag: v2.0-dev3~255 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=32b690155067dd82c61f78d2052b50937bd4c0b3;p=thirdparty%2Fhaproxy.git BUG/MINOR: mworker: mworker_kill should apply on every children Commit 3f12887 ("MINOR: mworker: don't use children variable anymore") introduced a regression. The previous behavior was to send a signal to every children, whether or not they are former children. Instead of this, we only send a signal to the current children, so we don't try to kill -INT or -TERM all processes during a reload. No backport needed. --- diff --git a/src/mworker.c b/src/mworker.c index 6b94c4ff4c..b7bb859aa0 100644 --- a/src/mworker.c +++ b/src/mworker.c @@ -54,7 +54,7 @@ static void mworker_kill(int sig) list_for_each_entry(child, &proc_list, list) { /* careful there, we must be sure that the pid > 0, we don't want to emit a kill -1 */ - if ((child->options & (PROC_O_TYPE_WORKER|PROC_O_TYPE_PROG)) && (child->reloads == 0) && (child->pid > 0)) + if ((child->options & (PROC_O_TYPE_WORKER|PROC_O_TYPE_PROG)) && (child->pid > 0)) kill(child->pid, sig); } }