libc: Fix the definition of SIGRTMAX
After this change, SIGRTMAX will be set to 64 (instead of 32 currently).
Note that this doesn't change the fact that our sigset_t is still defined
as a 32-bit unsigned integer, so most functions that deal with this type
won't support real-time signals though.
Change-Id: Ie1e2f97d646f1664f05a0ac9cac4a43278c3cfa8
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c
index a195018..34909fb 100644
--- a/libc/bionic/pthread.c
+++ b/libc/bionic/pthread.c
@@ -1858,7 +1858,13 @@
*/
int ret, old_errno = errno;
- ret = __rt_sigprocmask(how, set, oset, _NSIG / 8);
+ /* Use NSIG which corresponds to the number of signals in
+ * our 32-bit sigset_t implementation. As such, this function, or
+ * anything that deals with sigset_t cannot manage real-time signals
+ * (signo >= 32). We might want to introduce sigset_rt_t as an
+ * extension to do so in the future.
+ */
+ ret = __rt_sigprocmask(how, set, oset, NSIG / 8);
if (ret < 0)
ret = errno;