From 94b6dfa24f84bd8854c1dc566413b0719dce9e0d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 16 May 2010 03:57:07 +0200 Subject: unit,job: when we suppress a D-Bus signal because nobody is listening, don't delay it until later --- unit.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'unit.c') diff --git a/unit.c b/unit.c index 1757af317d..ee0c120b24 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; } -- cgit v1.2.3-54-g00ecf