mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-02-07 14:19:19 +00:00
Add some extra room to the alt stack for exception handlers.
Motivated by some crashes seen in Google Play reports.
This commit is contained in:
parent
47e85cd2bf
commit
cee71cbfc3
@ -284,18 +284,23 @@ void InstallExceptionHandler(BadAccessHandler badAccessHandler) {
|
||||
g_badAccessHandler = badAccessHandler;
|
||||
return;
|
||||
}
|
||||
|
||||
size_t altStackSize = SIGSTKSZ;
|
||||
|
||||
INFO_LOG(SYSTEM, "Installed exception handler");
|
||||
// Add some extra room.
|
||||
altStackSize += 65536;
|
||||
|
||||
INFO_LOG(SYSTEM, "Installed exception handler. stack size: %d", (int)altStackSize);
|
||||
g_badAccessHandler = badAccessHandler;
|
||||
|
||||
stack_t signal_stack{};
|
||||
altStack = malloc(SIGSTKSZ);
|
||||
altStack = malloc(altStackSize);
|
||||
#ifdef __FreeBSD__
|
||||
signal_stack.ss_sp = (char*)altStack;
|
||||
#else
|
||||
signal_stack.ss_sp = altStack;
|
||||
#endif
|
||||
signal_stack.ss_size = SIGSTKSZ;
|
||||
signal_stack.ss_size = altStackSize;
|
||||
signal_stack.ss_flags = 0;
|
||||
if (sigaltstack(&signal_stack, nullptr)) {
|
||||
_assert_msg_(false, "sigaltstack failed");
|
||||
|
Loading…
x
Reference in New Issue
Block a user