X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=man%2Fsd_event_add_defer.xml;h=891aa709b28bb0c16a2ee3467728e0f44705afc8;hb=3a54a157605bd7d4bf1be05e28201f3d9422cecc;hp=b991b38650f048d0b1a7f29e1a1b65302de70ead;hpb=eef8c1f6fd712749ff0204097eef9545d90842a2;p=thirdparty%2Fsystemd.git diff --git a/man/sd_event_add_defer.xml b/man/sd_event_add_defer.xml index b991b38650f..891aa709b28 100644 --- a/man/sd_event_add_defer.xml +++ b/man/sd_event_add_defer.xml @@ -1,43 +1,13 @@ - - -%entities; -]> + + + - - - + sd_event_add_defer systemd - - - - More text - Zbigniew - Jędrzejewski-Szmek - zbyszek@in.waw.pl - - @@ -49,13 +19,22 @@ sd_event_add_defer sd_event_add_post sd_event_add_exit + sd_event_handler_t Add static event sources to an event loop - #include <systemd/sd-bus.h> + #include <systemd/sd-event.h> + + typedef struct sd_event_source sd_event_source; + + + typedef int (*sd_event_handler_t) + sd_event_source *s + void *userdata + int sd_event_add_defer @@ -81,55 +60,73 @@ void *userdata - - typedef int (*sd_event_handler_t) - sd_event_source *s - void *userdata - - Description - Those three functions add new event sources to an event loop - object. The event loop is specified in - event, the event source is returned in the - source parameter. The event sources are - enabled statically and will "fire" when the event loop is run and - the conditions described below are met. The handler function will - be passed the userdata pointer, which may - be chosen freely by the caller. + These three functions add new static event sources to an + event loop. The event loop object is specified in the + event parameter, the event source object is + returned in the source parameter. The event + sources are enabled statically and will "fire" when the event loop + is run and the conditions described below are met. The handler + function will be passed the userdata + pointer, which may be chosen freely by the caller. sd_event_add_defer() adds a new event - source that will "fire" the next time the event loop is run. By - default, the handler will be called once - (SD_EVENT_ONESHOT). + source that will be dispatched instantly, before the event loop + goes to sleep again and waits for new events. By default, the + handler will be called once + (SD_EVENT_ONESHOT). Note that if the event + source is set to SD_EVENT_ON the event loop + will never go to sleep again, but continuously call the handler, + possibly interleaved with other event sources. sd_event_add_post() adds a new event - source that will "fire" if any event handlers are invoked whenever - the event loop is run. By default, the source is enabled - permanently (SD_EVENT_ON). + source that is run before the event loop will sleep and wait + for new events, but only after at least one other non-post event + source was dispatched. By default, the source is enabled + permanently (SD_EVENT_ON). Note that this + event source type will still allow the event loop to go to sleep + again, even if set to SD_EVENT_ON, as long as + no other event source is ever triggered. sd_event_add_exit() adds a new event - source that will "fire" when the event loop is terminated - with sd_event_exit(). + source that will be dispatched when the event loop is terminated + with sd_event_exit3. The sd_event_source_set_enabled3 function may be used to enable the event source permanently (SD_EVENT_ON) or to make it fire just once - (SD_EVENT_ONESHOT). If the handler function - returns a negative error code, it will be disabled after the - invocation, even if SD_EVENT_ON mode is - set. + (SD_EVENT_ONESHOT). + + If the handler function returns a negative error code, it + will be disabled after the invocation, even if the + SD_EVENT_ON mode was requested before. + + To destroy an event source object use + sd_event_source_unref3, + but note that the event source is only removed from the event loop + when all references to the event source are dropped. To make sure + an event source does not fire anymore, even when there's still a + reference to it kept, consider setting the event source to + SD_EVENT_OFF with + sd_event_source_set_enabled3. + + If the second parameter of these functions is passed as + NULL no reference to the event source object is returned. In this + case the event source is considered "floating", and will be + destroyed implicitly when the event loop itself is + destroyed. Return Value - On success, this functions return 0 or a positive + On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style error code. @@ -167,15 +164,7 @@ - - Notes - - Functions described here are available as a shared library, - which can be compiled and linked to with the - libsystemd pkg-config1 - file. - + See Also @@ -184,10 +173,17 @@ systemd1, sd-event3, sd_event_new3, + sd_event_now3, + sd_event_add_io3, sd_event_add_time3, sd_event_add_signal3, sd_event_add_child3, - sd_event_source_set_enabled3 + sd_event_add_inotify3, + sd_event_source_set_enabled3, + sd_event_source_set_priority3, + sd_event_source_set_userdata3, + sd_event_source_set_description3, + sd_event_exit3