Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9508:9c99f15829fa HEAD
lib-signals: Set signal pipe fds non-blocking to make sure read/write doesn't hang.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 15 Dec 2009 17:28:16 -0500 |
parents | 9af9343084d4 |
children | 845e6da5194a |
files | src/lib/lib-signals.c |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/lib-signals.c Tue Dec 15 14:05:06 2009 -0500 +++ b/src/lib/lib-signals.c Tue Dec 15 17:28:16 2009 -0500 @@ -3,6 +3,7 @@ #include "lib.h" #include "ioloop.h" #include "fd-close-on-exec.h" +#include "fd-set-nonblock.h" #include "lib-signals.h" #include <signal.h> @@ -197,6 +198,8 @@ /* first delayed handler */ if (pipe(sig_pipe_fd) < 0) i_fatal("pipe() failed: %m"); + fd_set_nonblock(sig_pipe_fd[0], TRUE); + fd_set_nonblock(sig_pipe_fd[1], TRUE); fd_close_on_exec(sig_pipe_fd[0], TRUE); fd_close_on_exec(sig_pipe_fd[1], TRUE); if (signals_initialized) {