diff options
-rw-r--r-- | src/bus-proxyd/proxy.c | 2 | ||||
-rw-r--r-- | src/core/unit.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c index 499a4e17d9..88800f5e7f 100644 --- a/src/bus-proxyd/proxy.c +++ b/src/bus-proxyd/proxy.c @@ -782,6 +782,8 @@ static int proxy_process_destination_to_local(Proxy *p) { * caller's timeout to expire, so this should be * acceptable. Nobody sane sends replies without a * matching method-call, so nobody should care. */ + + /* FIXME: remove -EPERM when kdbus is updated */ if ((r == -EPERM || r == -EBADSLT) && m->reply_cookie > 0) return 1; diff --git a/src/core/unit.c b/src/core/unit.c index 6cc5824eb2..43a5ca1064 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -478,11 +478,12 @@ void unit_free(Unit *u) { if (u->manager->n_reloading <= 0) unit_remove_transient(u); - sd_bus_slot_unref(u->match_bus_slot); bus_unit_send_removed_signal(u); unit_done(u); + sd_bus_slot_unref(u->match_bus_slot); + unit_free_requires_mounts_for(u); SET_FOREACH(t, u->names, i) |