sd_event_source_get_pending
systemd
sd_event_source_get_pending
3
sd_event_source_get_pending
Determine pending state of event sources
#include <systemd/sd-event.h>
int sd_event_source_get_pending
sd_event_source *source
Description
sd_event_source_get_pending() may be
used to determine whether the event source object specified as
source has seen events but has not been
dispatched yet (and thus is marked "pending").
Event source objects initially are not marked pending, when
they are created with calls such as
sd_event_add_io3,
sd_event_add_time3,
with the exception of those created with
sd_event_add_defer3
which are immediately marked pending, and
sd_event_add_exit3
for which the "pending" concept is not defined. For details see
the respective manual pages.
In each event loop iteration one event source of those
marked pending is dispatched, in the order defined by the event
source priority, as set with
sd_event_source_set_priority3.
For I/O event sources, as created with
sd_event_add_io3,
the call
sd_event_source_get_io_revents3
may be used to query the type of event pending in more
detail.
Return Value
On success, sd_event_source_get_pending() returns an integer greater than zero
when the event source is marked pending, and zero when the event source is not marked pending. On
failure, it returns a negative errno-style error code.
Errors
Returned errors may indicate the following problems:
-EINVAL
source is not a valid pointer to an
sd_event_source object.
-EDOM
source refers to an event source object created with
sd_event_add_exit3.
-ENOMEM
Not enough memory.
-ESTALE
The event loop is already terminated.
-ECHILD
The event loop has been created in a different process, library or module instance.
History
sd_event_source_get_pending() was added in version 229.
See Also
sd-event3,
sd_event_add_io3,
sd_event_add_time3,
sd_event_add_signal3,
sd_event_add_child3,
sd_event_add_inotify3,
sd_event_add_defer3,
sd_event_source_unref3