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.
int exitpid = -1;
int status = 0;
+restart_wait:
+
mworker_register_signals();
mworker_unblock_signals();
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);