diff options
Diffstat (limited to 'ctdb/direct/ctdbd.c')
-rw-r--r-- | ctdb/direct/ctdbd.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ctdb/direct/ctdbd.c b/ctdb/direct/ctdbd.c index 8a99c0ab01..727ca1d4a6 100644 --- a/ctdb/direct/ctdbd.c +++ b/ctdb/direct/ctdbd.c @@ -22,6 +22,19 @@ #include "lib/events/events.h" #include "system/filesys.h" #include "popt.h" +#include <signal.h> + +static void block_signal(int signum) +{ + struct sigaction act; + + memset(&act, 0, sizeof(act)); + + act.sa_handler = SIG_IGN; + sigemptyset(&act.sa_mask); + sigaddset(&act.sa_mask, signum); + sigaction(signum, &act, NULL); +} /* @@ -75,6 +88,8 @@ int main(int argc, const char *argv[]) exit(1); } + block_signal(SIGPIPE); + ev = event_context_init(NULL); /* initialise ctdb */ |