forked from pool/systemd
22 lines
999 B
Diff
22 lines
999 B
Diff
Index: systemd-36/src/systemctl.c
|
|
===================================================================
|
|
--- systemd-36.orig/src/systemctl.c
|
|
+++ systemd-36/src/systemctl.c
|
|
@@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar
|
|
/* Hmm, so some other init system is
|
|
* running, we need to forward this
|
|
* request to it. For now we simply
|
|
- * guess that it is Upstart. */
|
|
-
|
|
- execv("/lib/upstart/telinit", argv);
|
|
+ * guess that it is Sysvinit or Upstart. */
|
|
|
|
+ if (!access("/lib/sysvinit/telinit", X_OK)) {
|
|
+ execv("/lib/sysvinit/telinit", argv);
|
|
+ } else {
|
|
+ execv("/lib/upstart/telinit", argv);
|
|
+ }
|
|
log_error("Couldn't find an alternative telinit implementation to spawn.");
|
|
return -EIO;
|
|
}
|