From b1a4981aed3f5e939dbe5a211ca066ac69699b24 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 17 Jan 2019 16:07:22 +0100 Subject: [PATCH] tree-wide: whenever we allocate a new bus object, close it before dropping final ref This doesn't really change much, but feels more correct to do, as it ensures that all messages currently queued in the bus connections are definitely unreffed and thus destryoing of the connection object will follow immediately. Strictly speaking this change is entirely unnecessary, since nothing else could have acquired a ref to the connection and queued a message in, however, now that we have the new sd_bus_close_unref() helper it makes a lot of sense to use it here, to ensure that whatever happens nothing that might have been queued fucks with us. --- src/busctl/busctl.c | 2 +- src/core/dbus.c | 4 ++-- src/machine/machine-dbus.c | 2 +- src/shared/bus-util.c | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index 96b4177495f..08d9e70c960 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -67,7 +67,7 @@ static int json_transform_message(sd_bus_message *m, JsonVariant **ret); static void json_dump_with_flags(JsonVariant *v, FILE *f); static int acquire_bus(bool set_monitor, sd_bus **ret) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; int r; r = sd_bus_new(&bus); diff --git a/src/core/dbus.c b/src/core/dbus.c index ae595e0567e..bab4a1a81b6 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -876,7 +876,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { } int bus_init_api(Manager *m) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; int r; if (m->api_bus) @@ -940,7 +940,7 @@ static int bus_setup_system(Manager *m, sd_bus *bus) { } int bus_init_system(Manager *m) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; int r; if (m->system_bus) diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index 48270b3709a..7a558df8983 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -454,7 +454,7 @@ static int container_bus_new(Machine *m, sd_bus_error *error, sd_bus **ret) { break; case MACHINE_CONTAINER: { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; char *address; r = sd_bus_new(&bus); diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index 976643e4ce0..cbcf698e965 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -559,7 +559,7 @@ int bus_check_peercred(sd_bus *c) { } int bus_connect_system_systemd(sd_bus **_bus) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; int r; assert(_bus); @@ -592,7 +592,7 @@ int bus_connect_system_systemd(sd_bus **_bus) { } int bus_connect_user_systemd(sd_bus **_bus) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; _cleanup_free_ char *ee = NULL; const char *e; int r; @@ -1279,7 +1279,7 @@ int bus_map_all_properties( } int bus_connect_transport(BusTransport transport, const char *host, bool user, sd_bus **ret) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; int r; assert(transport >= 0); @@ -1666,7 +1666,7 @@ int bus_track_add_name_many(sd_bus_track *t, char **l) { } int bus_open_system_watch_bind_with_description(sd_bus **ret, const char *description) { - _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL; + _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL; const char *e; int r; -- 2.39.2