X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=unit.c;fp=unit.c;h=ee0c120b24fe0eee8aba3ab7758427c936821c7b;hp=1757af317ddbf60c7ac869ca4bdc992ca94e3aee;hb=94b6dfa24f84bd8854c1dc566413b0719dce9e0d;hpb=c1b94fda55e6e29e388a30f846b62650b5e60f7e diff --git a/unit.c b/unit.c index 1757af317..ee0c120b2 100644 --- a/unit.c +++ b/unit.c @@ -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; }