From: Willy Tarreau Date: Fri, 1 May 2015 15:01:08 +0000 (+0200) Subject: MEDIUM: init: don't stop proxies in parent process when exiting X-Git-Tag: v1.6-dev2~160 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=edaff0a8f5bc001c9ddedf09a2b47746e3333138;p=thirdparty%2Fhaproxy.git MEDIUM: init: don't stop proxies in parent process when exiting That's pointless, and that's confusing when debugging. --- diff --git a/src/haproxy.c b/src/haproxy.c index 5822a8bfc7..b5144a7fd6 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1780,6 +1780,15 @@ int main(int argc, char **argv) free(global.chroot); global.chroot = NULL; free(global.pidfile); global.pidfile = NULL; + if (proc == global.nbproc) { + if (global.mode & MODE_SYSTEMD) { + protocol_unbind_all(); + for (proc = 0; proc < global.nbproc; proc++) + while (waitpid(children[proc], NULL, 0) == -1 && errno == EINTR); + } + exit(0); /* parent must leave */ + } + /* we might have to unbind some proxies from some processes */ px = proxy; while (px != NULL) { @@ -1790,15 +1799,6 @@ int main(int argc, char **argv) px = px->next; } - if (proc == global.nbproc) { - if (global.mode & MODE_SYSTEMD) { - protocol_unbind_all(); - for (proc = 0; proc < global.nbproc; proc++) - while (waitpid(children[proc], NULL, 0) == -1 && errno == EINTR); - } - exit(0); /* parent must leave */ - } - free(children); children = NULL; /* if we're NOT in QUIET mode, we should now close the 3 first FDs to ensure