chiark / gitweb /
service: verify PID is valid when reading it from PID file
[elogind.git] / main.c
diff --git a/main.c b/main.c
index 18af93418dd38f0dcd263aaa4f4014ef270f9ce6..b4fbdb58f5243027eef64ad5f5868b3ead27706c 100644 (file)
--- 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) {