Upstream changes:
3.8 Sun Aug 9 15:30:10 CEST 2009
- implement $loop->signal/signal_ns.
- (libev) incompatible change: do not necessarily reset signal
handler to SIG_DFL when a sighandler is stopped.
- (libev) ev_default_destroy did not properly free or zero some
members, potentially causing crashes and memory corruption on
repated ev_default_destroy/ev_default_loop calls.
- (libev) take advantage of signalfd on GNU/Linux systems.
- (libev) document that the signal mask might be in an unspecified
state when using libev's signal handling.
- (libev) take advantage of some GNU/Linux calls to set
cloexec/nonblock on fd creation, to avoid race conditions.
- implement internal glue code to interface more efficiently
with AnyEvent.
This module provides an interface to libev
(http://software.schmorp.de/pkg/libev.html). While the documentation is
comprehensive, one might also consult the documentation of libev itself
(http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod or perldoc EV::libev)
for more subtle details on watcher semantics or some discussion on the
available backends, or how to force a specific backend with LIBEV_FLAGS,
or just about in any case because it has much more detailed information.
This module is very fast and scalable. It is actually so fast that you can
use it through the AnyEvent module, stay portable to other event loops (if
you don't rely on any watcher types not available through it) and still be
faster than with any other event loop currently supported in Perl.