From 55944e5e40b1be2afc4855d8d2baf4b73d1876b5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:49:52 +0200 Subject: Adding upstream version 255.4. Signed-off-by: Daniel Baumann --- man/sd_bus_process.xml | 138 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 man/sd_bus_process.xml (limited to 'man/sd_bus_process.xml') diff --git a/man/sd_bus_process.xml b/man/sd_bus_process.xml new file mode 100644 index 0000000..8e142dd --- /dev/null +++ b/man/sd_bus_process.xml @@ -0,0 +1,138 @@ + + + + + + + + + sd_bus_process + systemd + + + + sd_bus_process + 3 + + + + sd_bus_process + + Drive the connection + + + + + #include <systemd/sd-bus.h> + + + int sd_bus_process + sd_bus *bus + sd_bus_message **ret + + + + + + Description + + sd_bus_process() drives the connection between the client and the message bus. + That is, it handles connecting, authentication, and processing of messages. When invoked, pending I/O + work is executed, and queued incoming messages are dispatched to registered callbacks. Each time it is + invoked a single operation is executed. It returns zero when no operations were pending and positive if a + message was processed. When zero is returned the caller should poll for I/O events before calling into + sd_bus_process() again. For that either use the simple, blocking + sd_bus_wait3 call, or + hook up the bus connection object to an external or manual event loop using + sd_bus_get_fd3. + + + sd_bus_process() processes at most one incoming message per call. If the parameter + ret is not NULL and the call processed a message, + *ret is set to this message. The caller owns a reference to this message and should call + sd_bus_message_unref3 when the + message is no longer needed. If ret is not NULL, progress was made, but no message was + processed, *ret is set to NULL. + + If the bus object is connected to an + sd-event3 event loop (with + sd_bus_attach_event3), it is not + necessary to call sd_bus_process() directly as it is invoked automatically when + necessary. + + + + Return Value + + If progress was made, a positive integer is returned. If no progress was made, 0 is returned. If an + error occurs, a negative errno-style error code is returned. + + + Errors + + Returned errors may indicate the following problems: + + + + -EINVAL + + An invalid bus object was passed. + + + + -ECHILD + + The bus connection was allocated in a parent process and is being reused in a child + process after fork(). + + + + -ENOTCONN + + The bus connection has been terminated already. + + + + -ECONNRESET + + The bus connection has been terminated just now. + + + + -EBUSY + + This function is already being called, i.e. sd_bus_process() + has been called from a callback function that itself was called by + sd_bus_process(). + + + + + + + + + History + sd_bus_process() was added in version 231. + + + + See Also + + + systemd1, + sd-bus3, + sd_bus_wait3, + sd_bus_get_fd3, + sd_bus_message_unref3, + sd-event3, + sd_bus_attach_event3 + + + + -- cgit v1.2.3