debuggerd: fix CrasherTest.seccomp_crash_oom.
Switch from _exit to raising SIGABRT when we recurse in the fallback handler, so that waiters see an abort instead of a regular exit. Bug: http://b/79717060 Test: debuggerd_test32 Test: debuggerd_test64 Change-Id: Iddee1cb1b759690adf07bbb8cd0fda2faac87571
This commit is contained in:
parent
48cf760bea
commit
d2b15dd674
1 changed files with 10 additions and 1 deletions
|
|
@ -304,7 +304,16 @@ static void crash_handler(siginfo_t* info, ucontext_t* ucontext, void* abort_mes
|
|||
|
||||
crash_mutex.lock();
|
||||
if (lock_count++ > 0) {
|
||||
async_safe_format_log(ANDROID_LOG_ERROR, "libc", "recursed signal handler call, exiting");
|
||||
async_safe_format_log(ANDROID_LOG_ERROR, "libc", "recursed signal handler call, aborting");
|
||||
signal(SIGABRT, SIG_DFL);
|
||||
raise(SIGABRT);
|
||||
sigset_t sigset;
|
||||
sigemptyset(&sigset);
|
||||
sigaddset(&sigset, SIGABRT);
|
||||
sigprocmask(SIG_UNBLOCK, &sigset, nullptr);
|
||||
|
||||
// Just in case...
|
||||
async_safe_format_log(ANDROID_LOG_ERROR, "libc", "abort didn't exit, exiting");
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue