From 6747e27667402af0a7fa56eb90e2ac0a9f660333 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 4 Jan 2013 16:20:20 +0100 Subject: [PATCH] MINOR: signal: don't block SIGPROF by default SIGPROF is blocked then restored to default settings, which sometimes makes profiling harder. Let's not block it by default nor restore it, it doesn't serve any purpose anyway. --- src/signal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/signal.c b/src/signal.c index e1f5a8373f..fb6980b55c 100644 --- a/src/signal.c +++ b/src/signal.c @@ -106,6 +106,7 @@ int signal_init() memset(signal_queue, 0, sizeof(signal_queue)); memset(signal_state, 0, sizeof(signal_state)); sigfillset(&blocked_sig); + sigdelset(&blocked_sig, SIGPROF); for (sig = 0; sig < MAX_SIGNAL; sig++) LIST_INIT(&signal_state[sig].handlers); @@ -120,7 +121,8 @@ void deinit_signals() struct sig_handler *sh, *shb; for (sig = 0; sig < MAX_SIGNAL; sig++) { - signal(sig, SIG_DFL); + if (sig != SIGPROF) + signal(sig, SIG_DFL); list_for_each_entry_safe(sh, shb, &signal_state[sig].handlers, list) { LIST_DEL(&sh->list); pool_free2(pool2_sig_handlers, sh); -- 2.47.3