Skip to content

Commit bec29b3

Browse files
committed
Merge branch 'maint'
* maint: erts: Size alternate signal stack via sysconf(_SC_MINSIGSTKSZ)
2 parents e036314 + c2c761e commit bec29b3

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

erts/emulator/sys/unix/sys_signal_stack.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,7 @@
7676
#include <signal.h>
7777
#include <stdio.h>
7878
#include <stdlib.h>
79-
#if defined(__linux__)
80-
# include <sys/auxv.h>
81-
#endif
79+
#include <unistd.h>
8280

8381
#include "sys.h"
8482
#include "erl_alloc.h"
@@ -98,9 +96,11 @@
9896
void sys_thread_init_signal_stack(void) {
9997
stack_t ss;
10098

101-
#if defined(__linux__) && defined(AT_MINSIGSTKSZ)
102-
ss.ss_size = (size_t) getauxval(AT_MINSIGSTKSZ);
103-
ss.ss_size = MAX(ss.ss_size, SIGSTKSZ);
99+
#if defined(_SC_MINSIGSTKSZ)
100+
{
101+
long min = sysconf(_SC_MINSIGSTKSZ);
102+
ss.ss_size = MAX((size_t) (min > 0 ? min : SIGSTKSZ), (size_t) SIGSTKSZ);
103+
}
104104
#else
105105
ss.ss_size = SIGSTKSZ;
106106
#endif

0 commit comments

Comments
 (0)