From 533ee38b56e881a49481bdc095793c294acce121 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 23 Sep 2020 10:09:53 +0200 Subject: [PATCH] man: mention that sd_bus_send() buffers locally, and sd_bus_process() is needed to flush it out Prompted-by: #17128 --- man/sd_bus_send.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/man/sd_bus_send.xml b/man/sd_bus_send.xml index 2cdf436db2..233dd7c4fa 100644 --- a/man/sd_bus_send.xml +++ b/man/sd_bus_send.xml @@ -68,6 +68,14 @@ single receiver). It's behavior is similar to calling sd_bus_message_set_destination3 followed by calling sd_bus_send(). + + sd_bus_send()/sd_bus_send_to() will write the message + directly to the underlying transport (e.g. kernel socket buffer) if possible. If the connection is not + set up fully yet the message is queued locally. If the transport buffers are congested any unwritten + message data is queued locally, too. If the connection has been closed or is currently being closed the + call fails. + sd_bus_process3 should + be invoked to write out any queued message data to the transport. @@ -142,7 +150,8 @@ sd-bus3, sd_bus_call_method3, sd_bus_message_set_destination3, - sd_bus_reply_method_return3 + sd_bus_reply_method_return3, + sd_bus_process3