diff --git a/init/reboot.cpp b/init/reboot.cpp index e89f74aa0..ffd58a38d 100644 --- a/init/reboot.cpp +++ b/init/reboot.cpp @@ -66,8 +66,6 @@ #include "sigchld_handler.h" #include "util.h" -#define PROC_SYSRQ "/proc/sysrq-trigger" - using namespace std::literals; using android::base::boot_clock; diff --git a/init/reboot_utils.cpp b/init/reboot_utils.cpp index 485188ba0..76460a5df 100644 --- a/init/reboot_utils.cpp +++ b/init/reboot_utils.cpp @@ -29,6 +29,7 @@ #include #include "capabilities.h" +#include "reboot_utils.h" namespace android { namespace init { @@ -138,6 +139,9 @@ void __attribute__((noreturn)) InitFatalReboot(int signal_number) { LOG(ERROR) << backtrace->FormatFrameData(i); } if (init_fatal_panic) { + LOG(ERROR) << __FUNCTION__ << ": Trigger crash"; + android::base::WriteStringToFile("c", PROC_SYSRQ); + LOG(ERROR) << __FUNCTION__ << ": Sys-Rq failed to crash the system; fallback to exit()."; _exit(signal_number); } RebootSystem(ANDROID_RB_RESTART2, init_fatal_reboot_target); diff --git a/init/reboot_utils.h b/init/reboot_utils.h index 878ad9696..05bb9ae8e 100644 --- a/init/reboot_utils.h +++ b/init/reboot_utils.h @@ -18,6 +18,8 @@ #include +#define PROC_SYSRQ "/proc/sysrq-trigger" + namespace android { namespace init {