File 1011-erts-Fix-highest-POSIX-signal-definition.patch of Package erlang
From 4ab57f7fb251b5a6d0c4cd30da5c857f2a2f06cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20H=C3=B6gberg?= <john@erlang.org>
Date: Mon, 22 May 2023 13:54:35 +0200
Subject: [PATCH] erts: Fix highest POSIX signal definition
---
erts/emulator/sys/unix/sys_signal_stack.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/erts/emulator/sys/unix/sys_signal_stack.c b/erts/emulator/sys/unix/sys_signal_stack.c
index 9ce88cf358..03da93373c 100644
--- a/erts/emulator/sys/unix/sys_signal_stack.c
+++ b/erts/emulator/sys/unix/sys_signal_stack.c
@@ -81,6 +81,12 @@
#if (defined(BEAMASM) && defined(NATIVE_ERLANG_STACK))
+#if defined(NSIG)
+# define HIGHEST_SIGNAL NSIG
+#elif defined(_NSIG)
+# define HIGHEST_SIGNAL _NSIG
+#endif
+
/*
* Set alternate signal stack for the invoking thread.
*/
@@ -115,7 +121,7 @@ void sys_init_signal_stack(void) {
sys_thread_init_signal_stack();
- for (i = 1; i < _NSIG; ++i) {
+ for (i = 1; i < HIGHEST_SIGNAL; ++i) {
if (sigaction(i, NULL, &sa)) {
/* This will fail with EINVAL on Solaris if 'i' is one of the
thread library's private signals. We DO catch the initial
--
2.35.3