optimisations to libev.
+=head3 Watcher-Specific Functions
+
=over 4
=item ev_io_init (ev_io *, callback, int fd, int events)
but if multiple timers become ready during the same loop iteration then
order of execution is undefined.
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_timer_init (ev_timer *, callback, ev_tstamp after, ev_tstamp repeat)
time (C<at>) has been passed, but if multiple periodic timers become ready
during the same loop iteration then order of execution is undefined.
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_periodic_init (ev_periodic *, callback, ev_tstamp at, ev_tstamp interval, reschedule_cb)
watcher for a signal is stopped libev will reset the signal handler to
SIG_DFL (regardless of what it was set to before).
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_signal_init (ev_signal *, callback, int signum)
Child watchers trigger when your process receives a SIGCHLD in response to
some child status changes (most typically when a child of yours dies).
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_child_init (ev_child *, callback, int pid)
usually detected immediately, and if the file exists there will be no
polling.
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_stat_init (ev_stat *, callback, const char *path, ev_tstamp interval)
"pseudo-background processing", or delay processing stuff to after the
event loop has handled all outstanding events.
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_idle_init (ev_signal *, callback)
C<ev_check> watcher ran (always remind yourself to coexist peacefully with
others).
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_prepare_init (ev_prepare *, callback)
else
loop_lo = loop_hi;
+=head3 Watcher-Specific Functions and Data Members
+
=over 4
=item ev_embed_init (ev_embed *, callback, struct ev_loop *embedded_loop)