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:
parent
ff492f9bb6
commit
d6fa581a4c
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user