summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/systemd.xml5
-rw-r--r--src/core/main.c3
2 files changed, 3 insertions, 5 deletions
diff --git a/man/systemd.xml b/man/systemd.xml
index 391333bfb4..8d74ca49c3 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -922,9 +922,8 @@
the machine automatically when it crashes, after a 10s delay.
Otherwise, the system will hang indefinitely. Defaults to
<option>no</option>, in order to avoid a reboot loop. If
- combined with <varname>systemd.crash_shell=</varname>, it is
- first attempted to invoke a shell, and if this is not
- successful the system is rebooted.</para></listitem>
+ combined with <varname>systemd.crash_shell=</varname>, the
+ system is rebooted after the shell exits.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/src/core/main.c b/src/core/main.c
index 2fa96901c7..13fa78fed8 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -231,11 +231,10 @@ noreturn static void crash(int sig) {
(void) execle("/bin/sh", "/bin/sh", NULL, environ);
log_emergency_errno(errno, "execle() failed: %m");
- freeze_or_reboot();
_exit(EXIT_FAILURE);
} else {
log_info("Spawned crash shell as PID "PID_FMT".", pid);
- freeze();
+ (void) wait_for_terminate(pid, NULL);
}
}