Add _SC_NSIG.

https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/sysconf.html (2024) says "Austin Group Defect 741 is applied, adding _SC_NSIG".

Change-Id: Ic8372105bac153403ab41369805c46322c25013e
diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp
index 571370c..03822ed 100644
--- a/libc/bionic/sysconf.cpp
+++ b/libc/bionic/sysconf.cpp
@@ -210,6 +210,7 @@
       // are vestigial anyway, so the "maximum maximum" of NGROUPS_MAX is a good
       // enough answer for _SC_NGROUPS_MAX...
       return NGROUPS_MAX;
+    case _SC_NSIG:              return NSIG;
     case _SC_PASS_MAX:          return PASS_MAX;
     case _SC_2_C_BIND:          return _POSIX2_C_BIND;
     case _SC_2_C_DEV:           return _POSIX2_C_DEV;
diff --git a/libc/include/bits/sysconf.h b/libc/include/bits/sysconf.h
index ecf26ba..303f7c6 100644
--- a/libc/include/bits/sysconf.h
+++ b/libc/include/bits/sysconf.h
@@ -328,6 +328,8 @@
 #define _SC_LEVEL4_CACHE_ASSOC 0x009c
 /** sysconf() query for the L4 cache line size. Not available on all architectures. */
 #define _SC_LEVEL4_CACHE_LINESIZE 0x009d
+/** sysconf() query equivalent to NSIG. Available from API level 37. */
+#define _SC_NSIG 0x009e
 
 __BEGIN_DECLS
 
diff --git a/tests/headers/posix/unistd_h.c b/tests/headers/posix/unistd_h.c
index f66609d..fdd7bde 100644
--- a/tests/headers/posix/unistd_h.c
+++ b/tests/headers/posix/unistd_h.c
@@ -221,6 +221,9 @@
   MACRO(_SC_MQ_OPEN_MAX);
   MACRO(_SC_MQ_PRIO_MAX);
   MACRO(_SC_NGROUPS_MAX);
+#if defined(__BIONIC__) // New in POSIX 2024.
+  MACRO(_SC_NSIG);
+#endif
   MACRO(_SC_OPEN_MAX);
   MACRO(_SC_PAGE_SIZE);
   MACRO(_SC_PAGESIZE);
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 3143c23..c28a46e 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -1000,6 +1000,9 @@
   VERIFY_SYSCONF_POSITIVE(_SC_EXPR_NEST_MAX);
   VERIFY_SYSCONF_POSITIVE(_SC_LINE_MAX);
   VerifySysconf(_SC_NGROUPS_MAX, "_SC_NGROUPS_MAX", [](long v){return v >= 0 && v <= NGROUPS_MAX;});
+#if defined(__BIONIC__) || defined(_SC_NSIG) // New in POSIX 2024.
+  EXPECT_EQ(NSIG, sysconf(_SC_NSIG));
+#endif
   VERIFY_SYSCONF_POSITIVE(_SC_OPEN_MAX);
   VERIFY_SYSCONF_POSITIVE(_SC_PASS_MAX);
   VERIFY_SYSCONF_POSIX_VERSION(_SC_2_C_BIND);