diff options
Diffstat (limited to 'unit.c')
-rw-r--r-- | unit.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -272,9 +272,14 @@ void unit_add_to_dbus_queue(Unit *u) { assert(u); assert(u->meta.type != _UNIT_TYPE_INVALID); - if (u->meta.load_state == UNIT_STUB || u->meta.in_dbus_queue || set_isempty(u->meta.manager->subscribed)) + if (u->meta.load_state == UNIT_STUB || u->meta.in_dbus_queue) return; + if (set_isempty(u->meta.manager->subscribed)) { + u->meta.sent_dbus_new_signal = true; + return; + } + LIST_PREPEND(Meta, dbus_queue, u->meta.manager->dbus_unit_queue, &u->meta); u->meta.in_dbus_queue = true; } |