[systemd-commits] src/core

Kay Sievers kay at kemper.freedesktop.org
Tue May 22 10:20:28 PDT 2012


 src/core/main.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

New commits:
commit 745e2fb79ab20f3e98310d5e889a161ffe8b492c
Author: Kay Sievers <kay at vrfy.org>
Date:   Tue May 22 19:11:10 2012 +0200

    main: only fall back to /bin/sh in case /sbin/init does not exist

diff --git a/src/core/main.c b/src/core/main.c
index b66ae0e..4d9a2d4 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1749,12 +1749,15 @@ finish:
                 args[0] = "/sbin/init";
                 execv(args[0], (char* const*) args);
 
-                log_warning("Failed to execute /sbin/init, trying fallback: %m");
+                if (errno == ENOENT) {
+                        log_warning("No /sbin/init, trying fallback");
 
-                args[0] = "/bin/sh";
-                args[1] = NULL;
-                execv(args[0], (char* const*) args);
-                log_error("Failed to execute /bin/sh, giving up: %m");
+                        args[0] = "/bin/sh";
+                        args[1] = NULL;
+                        execv(args[0], (char* const*) args);
+                        log_error("Failed to execute /bin/sh, giving up: %m");
+                } else
+                        log_warning("Failed to execute /sbin/init, giving up: %m");
         }
 
         if (serialization)



More information about the systemd-commits mailing list