mirror of
https://github.com/systemd/systemd.git
synced 2025-03-22 06:50:18 +03:00
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.
This commit is contained in:
parent
aae82d1a36
commit
b1a4981aed
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user