BUG/MEDIUM: mworker: wait again for signals when execvp fail
After execvp fails, the signals were ignored, preventing to try a reload
again. It is now fixed by reaching the top of the mworker_wait()
function once the execvp failed.
diff --git a/src/haproxy.c b/src/haproxy.c
index 28811a8..b90e254 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -670,6 +670,8 @@
int exitpid = -1;
int status = 0;
+restart_wait:
+
mworker_register_signals();
mworker_unblock_signals();
@@ -679,6 +681,8 @@
int sig = caught_signal;
if (sig == SIGUSR2 || sig == SIGHUP) {
mworker_reload();
+ /* should reach there only if it fail */
+ goto restart_wait;
} else {
Warning("Exiting Master process...\n");
mworker_kill(sig);