From: root Date: Wed, 12 Dec 2007 17:55:05 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: rel-1_85~8 X-Git-Url: https://git.llucax.com/software/libev.git/commitdiff_plain/3360a3869a421bc12a57dcd0a9450ef5ee8a11ec?ds=sidebyside *** empty log message *** --- diff --git a/ev.3 b/ev.3 index 82d8e9b..d1a417a 100644 --- a/ev.3 +++ b/ev.3 @@ -1089,6 +1089,9 @@ descriptor even if the file descriptor number itself did not change. This is how one would do it normally anyway, the important point is that the libev application should not optimise around libev but should leave optimisations to libev. +.PP +\fIWatcher-Specific Functions\fR +.IX Subsection "Watcher-Specific Functions" .IP "ev_io_init (ev_io *, callback, int fd, int events)" 4 .IX Item "ev_io_init (ev_io *, callback, int fd, int events)" .PD 0 @@ -1151,6 +1154,9 @@ on the current time, use something like this to adjust for this: The callback is guarenteed to be invoked only when its timeout has passed, but if multiple timers become ready during the same loop iteration then order of execution is undefined. +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_timer_init (ev_timer *, callback, ev_tstamp after, ev_tstamp repeat)" 4 .IX Item "ev_timer_init (ev_timer *, callback, ev_tstamp after, ev_tstamp repeat)" .PD 0 @@ -1271,6 +1277,9 @@ rules. As with timers, the callback is guarenteed to be invoked only when the time (\f(CW\*(C`at\*(C'\fR) has been passed, but if multiple periodic timers become ready during the same loop iteration then order of execution is undefined. +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_periodic_init (ev_periodic *, callback, ev_tstamp at, ev_tstamp interval, reschedule_cb)" 4 .IX Item "ev_periodic_init (ev_periodic *, callback, ev_tstamp at, ev_tstamp interval, reschedule_cb)" .PD 0 @@ -1431,6 +1440,9 @@ with the kernel (thus it coexists with your own signal handlers as long as you don't register any with libev). Similarly, when the last signal watcher for a signal is stopped libev will reset the signal handler to \&\s-1SIG_DFL\s0 (regardless of what it was set to before). +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_signal_init (ev_signal *, callback, int signum)" 4 .IX Item "ev_signal_init (ev_signal *, callback, int signum)" .PD 0 @@ -1447,6 +1459,9 @@ The signal the watcher watches out for. .IX Subsection "ev_child - watch out for process status changes" Child watchers trigger when your process receives a \s-1SIGCHLD\s0 in response to some child status changes (most typically when a child of yours dies). +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_child_init (ev_child *, callback, int pid)" 4 .IX Item "ev_child_init (ev_child *, callback, int pid)" .PD 0 @@ -1521,6 +1536,9 @@ semantics of \f(CW\*(C`ev_stat\*(C'\fR watchers, which means that libev sometime to fall back to regular polling again even with inotify, but changes are usually detected immediately, and if the file exists there will be no polling. +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_stat_init (ev_stat *, callback, const char *path, ev_tstamp interval)" 4 .IX Item "ev_stat_init (ev_stat *, callback, const char *path, ev_tstamp interval)" .PD 0 @@ -1609,6 +1627,9 @@ Apart from keeping your process non-blocking (which is a useful effect on its own sometimes), idle watchers are a good place to do \&\*(L"pseudo\-background processing\*(R", or delay processing stuff to after the event loop has handled all outstanding events. +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_idle_init (ev_signal *, callback)" 4 .IX Item "ev_idle_init (ev_signal *, callback)" Initialises and configures the idle watcher \- it has no parameters of any @@ -1683,6 +1704,9 @@ their job. As \f(CW\*(C`ev_check\*(C'\fR watchers are often used to embed other loops those other event loops might be in an unusable state until their \&\f(CW\*(C`ev_check\*(C'\fR watcher ran (always remind yourself to coexist peacefully with others). +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_prepare_init (ev_prepare *, callback)" 4 .IX Item "ev_prepare_init (ev_prepare *, callback)" .PD 0 @@ -1939,6 +1963,9 @@ create it, and if that fails, use the normal loop for everything: \& else \& loop_lo = loop_hi; .Ve +.PP +\fIWatcher-Specific Functions and Data Members\fR +.IX Subsection "Watcher-Specific Functions and Data Members" .IP "ev_embed_init (ev_embed *, callback, struct ev_loop *embedded_loop)" 4 .IX Item "ev_embed_init (ev_embed *, callback, struct ev_loop *embedded_loop)" .PD 0 diff --git a/ev.html b/ev.html index 21f24d5..0299995 100644 --- a/ev.html +++ b/ev.html @@ -6,7 +6,7 @@ - + @@ -31,16 +31,41 @@
  • WATCHER TYPES
  • @@ -970,6 +995,10 @@ optimisations to libev.

    + + +

    Watcher-Specific Functions

    +
    ev_io_init (ev_io *, callback, int fd, int events)
    ev_io_set (ev_io *, int fd, int events)
    @@ -1030,6 +1059,10 @@ on the current time, use something like this to adjust for this:

    The callback is guarenteed to be invoked only when its timeout has passed, but if multiple timers become ready during the same loop iteration then order of execution is undefined.

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_timer_init (ev_timer *, callback, ev_tstamp after, ev_tstamp repeat)
    ev_timer_set (ev_timer *, ev_tstamp after, ev_tstamp repeat)
    @@ -1135,6 +1168,10 @@ rules.

    As with timers, the callback is guarenteed to be invoked only when the time (at) has been passed, but if multiple periodic timers become ready during the same loop iteration then order of execution is undefined.

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_periodic_init (ev_periodic *, callback, ev_tstamp at, ev_tstamp interval, reschedule_cb)
    ev_periodic_set (ev_periodic *, ev_tstamp after, ev_tstamp repeat, reschedule_cb)
    @@ -1281,6 +1318,10 @@ with the kernel (thus it coexists with your own signal handlers as long as you don't register any with libev). Similarly, when the last signal watcher for a signal is stopped libev will reset the signal handler to SIG_DFL (regardless of what it was set to before).

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_signal_init (ev_signal *, callback, int signum)
    ev_signal_set (ev_signal *, int signum)
    @@ -1303,6 +1344,10 @@ of the SIGxxx constants).

    Child watchers trigger when your process receives a SIGCHLD in response to some child status changes (most typically when a child of yours dies).

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_child_init (ev_child *, callback, int pid)
    ev_child_set (ev_child *, int pid)
    @@ -1375,6 +1420,10 @@ semantics of ev_stat watchers, which means that libev sometimes nee to fall back to regular polling again even with inotify, but changes are usually detected immediately, and if the file exists there will be no polling.

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_stat_init (ev_stat *, callback, const char *path, ev_tstamp interval)
    ev_stat_set (ev_stat *, const char *path, ev_tstamp interval)
    @@ -1462,6 +1511,10 @@ active, the process will not block when waiting for new events.

    effect on its own sometimes), idle watchers are a good place to do "pseudo-background processing", or delay processing stuff to after the event loop has handled all outstanding events.

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_idle_init (ev_signal *, callback)
    @@ -1534,6 +1587,10 @@ their job. As ev_check watchers are often used to embed other event loops those other event loops might be in an unusable state until their ev_check watcher ran (always remind yourself to coexist peacefully with others).

    + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_prepare_init (ev_prepare *, callback)
    ev_check_init (ev_check *, callback)
    @@ -1735,6 +1792,10 @@ create it, and if that fails, use the normal loop for everything:

    loop_lo = loop_hi; + +
    +

    Watcher-Specific Functions and Data Members

    +
    ev_embed_init (ev_embed *, callback, struct ev_loop *embedded_loop)
    ev_embed_set (ev_embed *, callback, struct ev_loop *embedded_loop)
    diff --git a/ev.pod b/ev.pod index ab57ffb..ee162ca 100644 --- a/ev.pod +++ b/ev.pod @@ -935,6 +935,8 @@ the libev application should not optimise around libev but should leave optimisations to libev. +=head3 Watcher-Specific Functions + =over 4 =item ev_io_init (ev_io *, callback, int fd, int events) @@ -997,6 +999,8 @@ The callback is guarenteed to be invoked only when its timeout has passed, 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) @@ -1111,6 +1115,8 @@ As with timers, the callback is guarenteed to be invoked only when the time (C) 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) @@ -1266,6 +1272,8 @@ as you don't register any with libev). Similarly, when the last signal 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) @@ -1287,6 +1295,8 @@ The signal the watcher watches out for. 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) @@ -1364,6 +1374,8 @@ to fall back to regular polling again even with inotify, but changes are 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) @@ -1455,6 +1467,8 @@ effect on its own sometimes), idle watchers are a good place to do "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) @@ -1531,6 +1545,8 @@ loops those other event loops might be in an unusable state until their C 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) @@ -1741,6 +1757,8 @@ create it, and if that fails, use the normal loop for everything: 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)