increase signal-handling stack size

On 64-bit Linux platforms other than x86_64 (e.g., AArch64), SIGSTKSZ
isn't big enough. Use a stack 10 times as large.
This commit is contained in:
Matthew Flatt 2015-07-03 12:41:37 -06:00
parent ff492f9bb6
commit d6fa581a4c

View File

@ -219,9 +219,10 @@ static void initialize_signal_handler(GCTYPE *gc)
# ifdef NEED_SIGSTACK # ifdef NEED_SIGSTACK
{ {
stack_t ss; stack_t ss;
uintptr_t sz = 10*SIGSTKSZ;
ss.ss_sp = malloc(SIGSTKSZ); ss.ss_sp = malloc(sz);
ss.ss_size = SIGSTKSZ; ss.ss_size = sz;
ss.ss_flags = 0; ss.ss_flags = 0;
sigaltstack(&ss, NULL); sigaltstack(&ss, NULL);