| SD_BUS_SET_EXIT_ON_DISCONNECT(3) | sd_bus_set_exit_on_disconnect | SD_BUS_SET_EXIT_ON_DISCONNECT(3) |
.SH "NAME" sd_bus_set_exit_on_disconnect,
sd_bus_get_exit_on_disconnect - Control the exit behavior when the bus
object disconnects
.SH "SYNOPSIS"
#include <systemd/sd-bus.h>
.HP 816u int
sd_bus_set_exit_on_disconnect(sd_bus *bus,
int b);
.HP 816u int
sd_bus_get_exit_on_disconnect(sd_bus *bus);
.SH "DESCRIPTION"
.PP sd_bus_set_exit_on_disconnect() may be used to configure the exit
behavior when the given bus object disconnects. If b is zero, no
special logic is executed when the bus object disconnects. If b is
non-zero, the behavior on disconnect depends on whether the bus object is
attached to an event loop or not. If the bus object is attached to an event
loop (see sd_bus_attach_event(3)), the event loop is closed when the
bus object disconnects (as if calling sd_event_exit(3)). Otherwise,
exit(3) is called. The exit code passed to sd_event_exit() and
exit() is EXIT_FAILURE. If the bus object has already
disconnected when enabling the exit behavior, the exit behavior is executed
immediately. By default, the exit behavior is disabled.
.PP sd_bus_get_exit_on_disconnect() returns whether the exit on
disconnect behavior is enabled for the given bus object.
.SH "RETURN VALUE"
.PP On success, sd_bus_set_exit_on_disconnect() returns a non-negative
integer. On failure, it returns a negative errno-style error code.
.PP sd_bus_get_exit_on_disconnect() returns a positive integer if the
exit on disconnect behavior is enabled. Otherwise, it returns zero.
.SS "Errors"
.PP Returned errors may indicate the following problems:
.PP -EINVAL
A required parameter was NULL.
Added in version 246.
.RE
.PP -ENOPKG
The bus object could not be resolved.
Added in version 246.
.RE
.PP -ECHILD
The bus connection was created in a different process, library or module
instance.
Added in version 246.
.RE
.SH "NOTES"
.PP Functions described here are available as a shared library, which can be
compiled against and linked to with the
libsystemd pkg-config(1) file.
.PP 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.
.PP 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.
.SH "HISTORY"
.PP sd_bus_set_exit_on_disconnect() and
sd_bus_get_exit_on_disconnect() were added in version 246.
.SH "SEE ALSO"
.PP systemd(1), sd-bus(3), sd_bus_attach_event(3),
sd-event(3), sd_event_exit(3)
| systemd 262.2 |