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.
---
 src/mworker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mworker.c b/src/mworker.c
index 6b94c4ff4..b7bb859aa 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);
        }
 }
-- 
2.21.0


Reply via email to