summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bus-proxyd/proxy.c2
-rw-r--r--src/core/unit.c3
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)