semtimedop: fix timespec kernel ABI mismatch for 32-bit timeouts on x32
[musl] / src / signal / sigfillset.c
index 6c84b9b..16e7b4f 100644 (file)
@@ -1,5 +1,4 @@
 #include <signal.h>
-#include <string.h>
 #include <limits.h>
 
 int sigfillset(sigset_t *set)
@@ -7,8 +6,13 @@ int sigfillset(sigset_t *set)
 #if ULONG_MAX == 0xffffffff
        set->__bits[0] = 0x7ffffffful;
        set->__bits[1] = 0xfffffffcul;
+       if (_NSIG > 65) {
+               set->__bits[2] = 0xfffffffful;
+               set->__bits[3] = 0xfffffffful;
+       }
 #else
        set->__bits[0] = 0xfffffffc7ffffffful;
+       if (_NSIG > 65) set->__bits[1] = 0xfffffffffffffffful;
 #endif
        return 0;
 }