summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/dbus-unit.c2
-rw-r--r--src/core/service.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c
index 1b86bdde43..5020dfba4b 100644
--- a/src/core/dbus-unit.c
+++ b/src/core/dbus-unit.c
@@ -1167,7 +1167,7 @@ void bus_unit_send_removed_signal(Unit *u) {
int r;
assert(u);
- if (!u->sent_dbus_new_signal)
+ if (!u->sent_dbus_new_signal || u->in_dbus_queue)
bus_unit_send_change_signal(u);
if (!u->id)
diff --git a/src/core/service.c b/src/core/service.c
index 57f8d90ee5..99a70395fc 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -1261,8 +1261,7 @@ static int service_spawn(
/* ENOTCONN is legitimate if the endpoint disappeared on shutdown.
* This connection is over, but the socket unit lives on. */
- if (r != -ENOTCONN ||
- (c != s->exec_command[SERVICE_EXEC_STOP] && c != s->exec_command[SERVICE_EXEC_STOP_POST]))
+ if (r != -ENOTCONN || !IN_SET(s->control_command_id, SERVICE_EXEC_STOP, SERVICE_EXEC_STOP_POST))
return r;
}