diff --git a/src/haproxy.c b/src/haproxy.c index e1e16878c..52e60d39c 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2452,11 +2452,17 @@ static void step_init_2(int argc, char** argv) */ static void step_init_3(void) { - - signal_register_fct(SIGQUIT, dump, SIGQUIT); - signal_register_fct(SIGUSR1, sig_soft_stop, SIGUSR1); - signal_register_fct(SIGHUP, sig_dump_state, SIGHUP); - signal_register_fct(SIGUSR2, NULL, 0); + if (master) { + signal_register_fct(SIGQUIT, NULL, 0); + signal_register_fct(SIGUSR1, NULL, 0); + signal_register_fct(SIGHUP, NULL, 0); + signal_register_fct(SIGUSR2, NULL, 0); + } else { + signal_register_fct(SIGQUIT, dump, SIGQUIT); + signal_register_fct(SIGUSR1, sig_soft_stop, SIGUSR1); + signal_register_fct(SIGHUP, sig_dump_state, SIGHUP); + signal_register_fct(SIGUSR2, NULL, 0); + } /* Always catch SIGPIPE even on platforms which define MSG_NOSIGNAL. * Some recent FreeBSD setups report broken pipes, and MSG_NOSIGNAL