X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=unit.c;h=1959b1b940074d0ff23dd81ed3be72d511814f6a;hb=136337ff74f05be3d42a769d9f0cb99716c5c40f;hp=1757af317ddbf60c7ac869ca4bdc992ca94e3aee;hpb=843d2643849a1ec63034012c8fe50bfaad23190b;p=elogind.git diff --git a/unit.c b/unit.c index 1757af317..1959b1b94 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; } @@ -1859,7 +1864,7 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { /* Adds in links to the device node that this unit is based on */ - if (!path_startswith(what, "/dev/") && !path_startswith(what, "/sys/")) + if (!is_device_path(what)) return 0; if (!(e = unit_name_build_escape(what+1, NULL, ".device")))