Systemd/src/libsystemd/sd-bus
Zbigniew Jędrzejewski-Szmek fa17b4e8d9 bus: optionally call a callbacks for cleanup
This adds a function sd_bus_slot_set_destroy_callback() to set a function
which can free userdata or perform other cleanups.

sd_bus_slot_get_destory_callback() queries the callback, and is included
for completeness.

Without something like this, for floating asynchronous callbacks, which might
be called or not, depending on the sequence of events, it's hard to perform
resource cleanup. The alternative would be to always perform the cleanup from
the caller too, but that requires more coordination and keeping of some shared
state. It's nicer to keep the cleanup contained between the callback and the
function that requests the callback.
2018-06-06 23:01:57 +02:00
..
bus-common-errors.c timedate: move error mapping to bus-common-errors.[ch] 2018-04-17 14:03:25 +09:00
bus-common-errors.h add new portable service framework 2018-05-24 17:01:57 +02:00
bus-container.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-container.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-control.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-control.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-convenience.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-creds.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
bus-creds.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-dump.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-dump.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-error.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-error.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-gvariant.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-gvariant.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-internal.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-internal.h bus: optionally call a callbacks for cleanup 2018-06-06 23:01:57 +02:00
bus-introspect.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-introspect.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-kernel.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-kernel.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-match.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
bus-match.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-message.c sd-bus: use _cleanup_ more 2018-05-26 16:56:01 +02:00
bus-message.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
bus-objects.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-objects.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-protocol.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-signature.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
bus-signature.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-slot.c bus: optionally call a callbacks for cleanup 2018-06-06 23:01:57 +02:00
bus-slot.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-socket.c tree-wide: make use of memory_startswith() at various places 2018-05-30 13:11:51 +02:00
bus-socket.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-track.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-track.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-type.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-type.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
GVARIANT-SERIALIZATION sd-bus: drop kdbus-related docs (#5533) 2017-03-07 07:51:35 +01:00
sd-bus.c sd-bus: make add match method callback slot "floating" 2018-05-30 17:34:34 +02:00
test-bus-benchmark.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-chat.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-cleanup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-creds.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-error.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-gvariant.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-introspect.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-marshal.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-match.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-objects.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-server.c tree-wide: do not wrap assert_se in extra parentheses 2018-05-14 17:22:22 +02:00
test-bus-signature.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-track.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-bus-vtable-cc.cc tests,meson: add test-bus-vtable, compiled as C and C++ 2017-05-13 15:50:44 -04:00
test-bus-vtable.c test-bus-vtable: it's OK if dbus is not running 2017-05-30 21:17:46 -04:00
test-bus-watch-bind.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00