MINOR: signal: really ignore signals configured with no handler
Until now, signals configured with no handler were still enabled and
ignored upon signal reception. Until now it was not an issue but with
SSL causing many EPIPE all the time, it becomes obvious that signal
processing comes with a cost. So set the handler to SIG_IGN when the
function is NULL.
diff --git a/src/signal.c b/src/signal.c
index 128a383..e1f5a83 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -144,7 +144,7 @@
return NULL;
if (sig)
- signal(sig, signal_handler);
+ signal(sig, fct ? signal_handler : SIG_IGN);
if (!fct)
return NULL;