summaryrefslogtreecommitdiffstats
path: root/src/server/helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/helper.c')
-rw-r--r--src/server/helper.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/helper.c b/src/server/helper.c
index 6c0e822..8070fa0 100644
--- a/src/server/helper.c
+++ b/src/server/helper.c
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <assert.h>
#include <sys/prctl.h> // For thread names
+#include <signal.h>
#include "../config.h"
@@ -128,3 +129,14 @@ void setThreadName(char *name)
if ( strlen( name ) > 16 ) name[16] = '\0';
prctl( PR_SET_NAME, (unsigned long)name, 0, 0, 0 );
}
+
+void blockNoncriticalSignals()
+{
+ sigset_t sigmask;
+ sigemptyset(&sigmask);
+ sigaddset(&sigmask, SIGUSR1);
+ sigaddset(&sigmask, SIGUSR2);
+ sigaddset(&sigmask, SIGHUP);
+ sigaddset(&sigmask, SIGPIPE);
+ pthread_sigmask(SIG_BLOCK, &sigmask, NULL);
+}