# HG changeset patch # User Timo Sirainen # Date 1260916096 18000 # Node ID 9c99f15829faf182d2e4c343994a004e85cbd2c2 # Parent 9af9343084d442854fca77d6739099c4cc82f8fa lib-signals: Set signal pipe fds non-blocking to make sure read/write doesn't hang. diff -r 9af9343084d4 -r 9c99f15829fa src/lib/lib-signals.c --- 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 @@ -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) {