From d612b5fe726a7057391896d8863d85f8c365ae1b Mon Sep 17 00:00:00 2001 From: root Date: Mon, 31 Mar 2008 01:14:12 +0000 Subject: *** empty log message *** --- ev.pod | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ev.pod b/ev.pod index 752c52a..47204ab 100644 --- a/ev.pod +++ b/ev.pod @@ -1087,6 +1087,18 @@ C or C after a fork in the child, enable C, or resort to C or C. +=head3 The special problem of SIGPIPE + +While not really specific to libev, it is easy to forget about SIGPIPE: +when reading from a pipe whose other end has been closed, your program +gets send a SIGPIPE, which, by default, aborts your program. For most +programs this is sensible behaviour, for daemons, this is usually +undesirable. + +So when you encounter spurious, unexplained daemon exits, make sure you +ignore SIGPIPE (and maybe make sure you log the exit status of your daemon +somewhere, as that would have given you a big clue). + =head3 Watcher-Specific Functions -- cgit v1.2.3