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

openSUSE Build Service is sponsored by