diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2015-07-04 12:41:01 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@googlemail.com> | 2015-07-04 12:41:01 +0200 |
commit | 6acc94b6211af2c259453b9e6aa29c44967796f0 (patch) | |
tree | f38e6680b90804cdcc46a1cf921a38b2af080cbc /src/libsystemd/sd-bus/sd-bus.c | |
parent | a0c8526a7376a7ef9692a3db6700e574fc714e7c (diff) | |
parent | 03976f7b4a84b8b1492a549a3470b2bba8f37008 (diff) |
Merge pull request #485 from poettering/sd-bus-flush-close-unref
sd-bus: introduce new sd_bus_flush_close_unref() call
Diffstat (limited to 'src/libsystemd/sd-bus/sd-bus.c')
-rw-r--r-- | src/libsystemd/sd-bus/sd-bus.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 5dd6468707..0ca225c617 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -1428,6 +1428,17 @@ _public_ void sd_bus_close(sd_bus *bus) { * ioctl on the fd when they are freed. */ } +_public_ sd_bus* sd_bus_flush_close_unref(sd_bus *bus) { + + if (!bus) + return NULL; + + sd_bus_flush(bus); + sd_bus_close(bus); + + return sd_bus_unref(bus); +} + static void bus_enter_closing(sd_bus *bus) { assert(bus); |