BUG/MEDIUM: misplaced exit and wrong exit code

Commit cb11fd2 ("MEDIUM: mworker: wait mode on reload failure")
introduced a regression, when HAProxy is used in daemon mode, it exits 1
after forking its children.

HAProxy should exit(0), the exit(EXIT_FAILURE) was expected to be use
when the master fail in master-worker mode.

Thanks to Emmanuel Hocdet for reporting this bug. No backport needed.
This commit is contained in:
William Lallemand 2017-06-07 15:04:47 +02:00 committed by Willy Tarreau
parent cc9b94ac94
commit 1499b9b7ef

View File

@ -2574,12 +2574,13 @@ int main(int argc, char **argv)
if (global.mode & MODE_MWORKER) {
protocol_unbind_all();
mworker_wait();
/* should never get there */
exit(EXIT_FAILURE);
}
#if defined(USE_OPENSSL) && !defined(OPENSSL_NO_DH)
ssl_free_dh();
#endif
/* should never get there */
exit(EXIT_FAILURE);
exit(0); /* parent must leave */
}
/* child must never use the atexit function */