diff --git a/man/rules/meson.build b/man/rules/meson.build index b3011c5f04..75e3660125 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -114,6 +114,7 @@ manpages = [ 'sd_bus_match_signal', 'sd_bus_match_signal_async'], ''], + ['sd_bus_close', '3', ['sd_bus_flush'], ''], ['sd_bus_creds_get_pid', '3', ['sd_bus_creds_get_audit_login_uid', diff --git a/man/sd_bus_close.xml b/man/sd_bus_close.xml new file mode 100644 index 0000000000..369afd8747 --- /dev/null +++ b/man/sd_bus_close.xml @@ -0,0 +1,101 @@ + + + + + + + + + sd_bus_close + systemd + + + + sd_bus_close + 3 + + + + sd_bus_close + sd_bus_flush + + Close and flush a bus connection + + + + + #include <systemd/sd-bus.h> + + + void sd_bus_close + sd_bus *bus + + + + int sd_bus_flush + sd_bus *bus + + + + + + Description + + sd_bus_close() disconnects the specified bus connection. When this call is invoked and + the specified bus object refers to an active connection it is immediately terminated. No further messages may be + sent or receieved on it. Any messages queued in the bus object (both incoming and outgoing) are released. If + invoked on NULL bus object or when the bus connection is already closed this function executes + no operation. This call does not free or unreference the bus object itself. Use + sd_bus_unref3 for that. + + sd_bus_flush() synchronously writes out all outgoing queued message on a bus connection + if there are any. This function call may block if the peer is not processing bus messages quickly. + + Before a program exits it is usually a good idea to flush any pending messages with + sd_bus_flush() and then close connections with sd_bus_close() to ensure + that no unwritten messages are lost, no further messages may be queued and all incoming but unprocessed messages + are released. After both operations have been done, it is a good idea to also drop any remaining references to the + bus object so that it may be freed. Since these three operations are frequently done together a helper call + sd_bus_flush_close_unref3 is + provided that combines them into one. + + + + Return Value + + On success, sd_bus_flush() returns 0 or a positive integer. On failure, it returns a + negative errno-style error code. + + + + Errors + + Returned errors may indicate the following problems: + + + + -ECHILD + + The bus connection has been created in a different process. + + + + + + + + See Also + + + systemd1, + sd-bus3, + sd_bus_unref3, + sd_bus_set_close_on_exit3 + + + +