From: Lennart Poettering Date: Thu, 8 Apr 2010 00:00:40 +0000 (+0200) Subject: main: fall back to rescue target when default target cannot be loaded X-Git-Tag: 0.git+20100605+dfd8ee-1~202 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37d88da701d75a3893b262580dc59042147a9b89;p=systemd main: fall back to rescue target when default target cannot be loaded --- diff --git a/main.c b/main.c index 18af9341..b4fbdb58 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 b6c0a51e..817bc00b 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. */