From 37d88da701d75a3893b262580dc59042147a9b89 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 8 Apr 2010 02:00:40 +0200 Subject: main: fall back to rescue target when default target cannot be loaded --- main.c | 7 ++++++- manager.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index 18af93418d..b4fbdb58f5 100644 --- a/main.c +++ b/main.c @@ -307,7 +307,12 @@ int main(int argc, char *argv[]) { if ((r = manager_load_unit(m, default_unit, &target)) < 0) { log_error("Failed to load default target: %s", strerror(-r)); - goto finish; + + log_info("Trying to load rescue target..."); + if ((r = manager_load_unit(m, SPECIAL_RESCUE_TARGET, &target)) < 0) { + log_error("Failed to load rescue target: %s", strerror(-r)); + goto finish; + } } if (action == ACTION_TEST) { diff --git a/manager.h b/manager.h index b6c0a51ecf..817bc00bc8 100644 --- a/manager.h +++ b/manager.h @@ -83,6 +83,7 @@ struct Watch { #define SPECIAL_SYSLOG_TARGET "syslog.target" /* Should pull in syslog.socket or syslog.service */ #define SPECIAL_RTC_SET_TARGET "rtc-set.target" /* LSB's $time */ #define SPECIAL_BASIC_TARGET "basic.target" +#define SPECIAL_RESCUE_TARGET "rescue.target" /* For SysV compatibility. Usually an alias for a saner target. On * SysV-free systems this doesn't exist. */ -- cgit v1.2.3-54-g00ecf