diff options
author | Nathaniel McCallum <npmccallum@redhat.com> | 2018-01-22 16:26:44 -0500 |
---|---|---|
committer | Nathaniel McCallum <npmccallum@redhat.com> | 2018-01-23 09:40:25 -0500 |
commit | 45b1f410ba699990e4033805fe64cc369b835f10 (patch) | |
tree | ea5d3e2ca768625aac6fa17816ca1bcf95bc667c /src/libsystemd/sd-bus/bus-track.c | |
parent | b937d761085c484cc1708171c01b9aac37537d4e (diff) | |
download | systemd-45b1f410ba699990e4033805fe64cc369b835f10.tar.gz |
Add support for SD_BUS_DEFAULT*
Currently, sd-bus supports the ability to have thread-local default busses.
However, this is less useful than it can be since all functions which
require an sd_bus* as input require the caller to pass it. This patch adds
a new macro which allows the developer to pass a constant SD_BUS_DEFAULT,
SD_BUS_DEFAULT_USER or SD_BUS_DEFAULT_SYSTEM instead. This reduces work for
the caller.
For example:
r = sd_bus_default(&bus);
r = sd_bus_call_method(bus, ...);
sd_bus_unref(bus);
Becomes:
r = sd_bus_call_method(SD_BUS_DEFAULT, ...);
If the specified thread-local default bus does not exist, the function
calls will return -ENOPKG. No bus will ever be implicitly created.
Diffstat (limited to 'src/libsystemd/sd-bus/bus-track.c')
-rw-r--r-- | src/libsystemd/sd-bus/bus-track.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/bus-track.c b/src/libsystemd/sd-bus/bus-track.c index 0dd06e9b99..5482d39a01 100644 --- a/src/libsystemd/sd-bus/bus-track.c +++ b/src/libsystemd/sd-bus/bus-track.c @@ -136,6 +136,7 @@ _public_ int sd_bus_track_new( sd_bus_track *t; assert_return(bus, -EINVAL); + assert_return(bus = bus_resolve(bus), -ENOPKG); assert_return(track, -EINVAL); if (!bus->bus_client) |