X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_event_add_defer.xml;h=f8ac3e40a1a54ce10fdf19d8f3f60bfc0f9b7e09;hb=d04b238170998e0cbcc86db0f8ae66c3ee4a14d6;hp=dd5d19b519f77f9f4ee603b965559a7780ffb4fb;hpb=b975b0d514321f169b3c4599a8ea92e13741b4e4;p=elogind.git
diff --git a/man/sd_event_add_defer.xml b/man/sd_event_add_defer.xml
index dd5d19b51..f8ac3e40a 100644
--- a/man/sd_event_add_defer.xml
+++ b/man/sd_event_add_defer.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see .
-->
-
+
sd_event_add_defer
@@ -46,13 +46,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
@@ -78,55 +87,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.
@@ -164,15 +191,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
@@ -181,10 +200,16 @@
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_source_set_enabled3,
+ sd_event_source_set_priority3,
+ sd_event_source_set_userdata3,
+ sd_event_source_set_description3,
+ sd_event_exit3