diff options
Diffstat (limited to 'src/core/crash-handler.c')
-rw-r--r-- | src/core/crash-handler.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/crash-handler.c b/src/core/crash-handler.c index f5c31b6..4a3fc01 100644 --- a/src/core/crash-handler.c +++ b/src/core/crash-handler.c @@ -27,7 +27,13 @@ _noreturn_ void freeze_or_exit_or_reboot(void) { _exit(EXIT_EXCEPTION); } - if (arg_crash_reboot) { + if (arg_crash_action == CRASH_POWEROFF) { + log_notice("Shutting down..."); + (void) reboot(RB_POWER_OFF); + log_struct_errno(LOG_EMERG, errno, + LOG_MESSAGE("Failed to power off: %m"), + "MESSAGE_ID=" SD_MESSAGE_CRASH_FAILED_STR); + } else if (arg_crash_action == CRASH_REBOOT) { log_notice("Rebooting in 10s..."); (void) sleep(10); |