diff options
-rw-r--r-- | ev.pod | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -1087,6 +1087,18 @@ C<ev_default_fork ()> or C<ev_loop_fork ()> after a fork in the child, enable C<EVFLAG_FORKCHECK>, or resort to C<EVBACKEND_SELECT> or C<EVBACKEND_POLL>. +=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 |