From 45a7b16bae0dbda31caa54c608e72428cacdb6f4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 23 Nov 2017 17:39:53 +0100 Subject: [PATCH] core: don't reference rescue/emergency targets in --user mode They are only defined for system mode, hence let's not check for them in --user mode. Follow-up for #7433 --- src/core/manager.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c index 0e21e14..ccc3e25 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -3546,14 +3546,16 @@ ManagerState manager_state(Manager *m) { if (u && unit_active_or_pending(u)) return MANAGER_STOPPING; - /* Are the rescue or emergency targets active or queued? If so we are in maintenance state */ - u = manager_get_unit(m, SPECIAL_RESCUE_TARGET); - if (u && unit_active_or_pending(u)) - return MANAGER_MAINTENANCE; + if (MANAGER_IS_SYSTEM(m)) { + /* Are the rescue or emergency targets active or queued? If so we are in maintenance state */ + u = manager_get_unit(m, SPECIAL_RESCUE_TARGET); + if (u && unit_active_or_pending(u)) + return MANAGER_MAINTENANCE; - u = manager_get_unit(m, SPECIAL_EMERGENCY_TARGET); - if (u && unit_active_or_pending(u)) - return MANAGER_MAINTENANCE; + u = manager_get_unit(m, SPECIAL_EMERGENCY_TARGET); + if (u && unit_active_or_pending(u)) + return MANAGER_MAINTENANCE; + } /* Are there any failed units? If so, we are in degraded mode */ if (set_size(m->failed_units) > 0) -- 2.7.4