Unix: Fix CMake detection and setup of sigaltstack

pull/590/head
Jonathan G Rennison 9 months ago
parent 644d2632f8
commit 1ec2ed937f

@ -11,7 +11,7 @@ check_cxx_source_compiles("
sigaltstack(&ss, nullptr); sigaltstack(&ss, nullptr);
return 0; return 0;
}" }"
SIGALTSTACK SIGALTSTACK_FOUND
) )
if (SIGALTSTACK_FOUND) if (SIGALTSTACK_FOUND)

@ -820,9 +820,9 @@ static void CDECL HandleCrash(int signum)
/* static */ void CrashLog::InitialiseCrashLog() /* static */ void CrashLog::InitialiseCrashLog()
{ {
#ifdef WITH_SIGALTSTACK #ifdef WITH_SIGALTSTACK
const size_t stack_size = max<size_t>(SIGSTKSZ, 512*1024); const size_t stack_size = std::max<size_t>(SIGSTKSZ, 512*1024);
stack_t ss; stack_t ss;
ss.ss_sp = CallocT<byte>(stack_size); ss.ss_sp = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
ss.ss_size = stack_size; ss.ss_size = stack_size;
ss.ss_flags = 0; ss.ss_flags = 0;
sigaltstack(&ss, nullptr); sigaltstack(&ss, nullptr);

Loading…
Cancel
Save