NAME¶sd_bus_process - Drive the connection
int sd_bus_process(sd_bus *bus, sd_bus_message **r);
DESCRIPTION¶sd_bus_process() drives the connection between the message bus and the client. That is, it handles connecting, authentication, and message processing. It should be called in a loop until no further progress can be made or an error occurs.
sd_bus_process processes at most one incoming message per call. If the parameter r is not NULL and the call processed a message, *r is set to this message. The caller owns a reference to this message and should call sd_bus_message_unref(3) when the message is no longer needed. If r is not NULL, progress was made, but no message was processed, *r is set to NULL.
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.