fix manager_state

This commit is contained in:
root 2020-04-03 22:35:22 -05:00 committed by Lennart Poettering
parent e6b68254c2
commit f9d29f6d06

View file

@ -4247,6 +4247,11 @@ ManagerState manager_state(Manager *m) {
assert(m); assert(m);
/* Is the special shutdown target active or queued? If so, we are in shutdown state */
u = manager_get_unit(m, SPECIAL_SHUTDOWN_TARGET);
if (u && unit_active_or_pending(u))
return MANAGER_STOPPING;
/* Did we ever finish booting? If not then we are still starting up */ /* Did we ever finish booting? If not then we are still starting up */
if (!MANAGER_IS_FINISHED(m)) { if (!MANAGER_IS_FINISHED(m)) {
@ -4257,11 +4262,6 @@ ManagerState manager_state(Manager *m) {
return MANAGER_STARTING; return MANAGER_STARTING;
} }
/* Is the special shutdown target active or queued? If so, we are in shutdown state */
u = manager_get_unit(m, SPECIAL_SHUTDOWN_TARGET);
if (u && unit_active_or_pending(u))
return MANAGER_STOPPING;
if (MANAGER_IS_SYSTEM(m)) { if (MANAGER_IS_SYSTEM(m)) {
/* Are the rescue or emergency targets active or queued? If so we are in maintenance state */ /* Are the rescue or emergency targets active or queued? If so we are in maintenance state */
u = manager_get_unit(m, SPECIAL_RESCUE_TARGET); u = manager_get_unit(m, SPECIAL_RESCUE_TARGET);