|
|
|
@ -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
|
|
|
|
|
|
|
|
|
|