SD_BUS_SET_CLOSE_ON_EXIT(3)
π NAME π
okay so this is SD_BUS_SET_CLOSE_ON_EXIT(3) β the manual page for sd_bus_set_close_on_exit, sd_bus_get_close_on_exit β and it's literally all about controlling whether to close the bus connection during the event loop exit phase β¨
β¨ SYNOPSIS β¨
#include <systemd/sd-bus.h>
int sd_bus_set_close_on_exit(sd_bus *bus, int b);
int sd_bus_get_close_on_exit(sd_bus *bus);
π DESCRIPTION π
sd_bus_set_close_on_exit() is your little switch for enabling or disabling whether the bus connection gets automatically flushed (as in sd_bus_flush(3)) and closed (as in sd_bus_close(3)) during the exit phase of the event loop. periodt π
This logic only applies to bus connections that are attached to an sd-event(3) event loop β see sd_bus_attach_event(3). By default, this mechanism is enabled, and it makes sure that any pending messages that have not been written to the bus connection are written out when the event loop is shutting down. πΈ
Sometimes that behaviour is not desirable β for example, when the bus connection shall remain usable until after the event loop exited. If b is true, the feature is enabled (which is the default); otherwise it's disabled. iykyk π
sd_bus_get_close_on_exit() may be used to query the current setting of this feature. It returns zero when the feature is disabled, and positive if enabled. slay π
π RETURN VALUE π
On success, sd_bus_set_close_on_exit() returns a non-negative integer. On failure, it returns a negative errno-style error code. π
sd_bus_get_close_on_exit() returns 0 if the feature is currently disabled, or a positive integer if it is enabled. On failure, it returns a negative errno-style error code.
π Errors π
Returned errors may indicate the following problems:
-ECHILDβ the bus connection was created in a different process, library or module instance. π
π¦ NOTES π¦
The functions described here are available as a shared library, which can be compiled against and linked to with the libsystemd pkg-config(1) file. π«Ά
All functions listed here are thread-agnostic and only a single thread may operate on a given object at any given time. Different threads may access the same object at different times. Multiple independent objects may be used from different threads in parallel. β¨
The code described here uses getenv(3), which is declared to be not multi-thread-safe. This means that the code calling the functions described here must not call setenv(3) from a parallel thread. It is recommended to only do calls to setenv() from an early phase of the program when no other threads have been started. no cap, that part matters β οΈ
β HISTORY β
sd_bus_set_close_on_exit() and sd_bus_get_close_on_exit() were added in version 240. π
π SEE ALSO π
Go check these next, bestie:
okay that's the whole page β source/version systemd 261.3, manual SD_BUS_SET_CLOSE_ON_EXIT(3) π«Άπβ¨
π¦ where this page comes from
- ubuntu stonking: libsystemd-dev 261.3-0ubuntu3 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms