diff options
Diffstat (limited to 'src/lmtp.c')
-rw-r--r-- | src/lmtp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lmtp.c b/src/lmtp.c index ba03cd93d..f7aec0bdf 100644 --- a/src/lmtp.c +++ b/src/lmtp.c @@ -260,6 +260,12 @@ start_lmtp_worker (struct rspamd_worker *worker) init_signals (&signals, sig_handler); sigprocmask (SIG_UNBLOCK, &signals.sa_mask, NULL); + /* Ignore SIGPIPE for further use in LDA delivery */ + sigemptyset (&signals.sa_mask); + sigaddset (&signals.sa_mask, SIGPIPE); + signals.sa_handler = SIG_IGN; + sigaction (SIGPIPE, &signals, NULL); + sigprocmask (SIG_UNBLOCK, &signals.sa_mask, NULL); /* SIGUSR2 handler */ signal_set (&worker->sig_ev, SIGUSR2, sigusr_handler, (void *) worker); |