mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-24 04:11:02 +01:00
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.
This commit is contained in:
parent
722d4ca0dd
commit
2f8b31c2c6
@ -670,6 +670,8 @@ static void mworker_wait()
|
|||||||
int exitpid = -1;
|
int exitpid = -1;
|
||||||
int status = 0;
|
int status = 0;
|
||||||
|
|
||||||
|
restart_wait:
|
||||||
|
|
||||||
mworker_register_signals();
|
mworker_register_signals();
|
||||||
mworker_unblock_signals();
|
mworker_unblock_signals();
|
||||||
|
|
||||||
@ -679,6 +681,8 @@ static void mworker_wait()
|
|||||||
int sig = caught_signal;
|
int sig = caught_signal;
|
||||||
if (sig == SIGUSR2 || sig == SIGHUP) {
|
if (sig == SIGUSR2 || sig == SIGHUP) {
|
||||||
mworker_reload();
|
mworker_reload();
|
||||||
|
/* should reach there only if it fail */
|
||||||
|
goto restart_wait;
|
||||||
} else {
|
} else {
|
||||||
Warning("Exiting Master process...\n");
|
Warning("Exiting Master process...\n");
|
||||||
mworker_kill(sig);
|
mworker_kill(sig);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user