fix reversed argument order x86_64 sigsetjmp's call to sigprocmask
[musl] / include / signal.h
index e0dae19..242b4ad 100644 (file)
@@ -5,11 +5,7 @@
 extern "C" {
 #endif
 
-#if __STDC_VERSION__ >= 199901L
-#define __restrict restrict
-#elif !defined(__GNUC__)
-#define __restrict
-#endif
+#include <features.h>
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
@@ -17,6 +13,7 @@ extern "C" {
 
 #ifdef _GNU_SOURCE
 #define __siginfo siginfo
+#define __ucontext ucontext
 #endif
 
 #define __NEED_size_t
@@ -106,7 +103,7 @@ union sigval {
 struct __siginfo {
        int si_signo, si_errno, si_code;
        union {
-               char __pad[128 - 3*sizeof(int)];
+               char __pad[128 - 2*sizeof(int) - sizeof(long)];
                struct {
                        pid_t si_pid;
                        uid_t si_uid;
@@ -211,7 +208,11 @@ void (*sigset(int, void (*)(int)))(int);
 #define SIGSTKSZ 8192
 #endif
 
-#ifdef _BSD_SOURCE
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#define NSIG _NSIG
+#endif
+
+#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
 typedef void (*sig_t)(int);
 #endif
 
@@ -219,6 +220,9 @@ typedef void (*sig_t)(int);
 typedef void (*sighandler_t)(int);
 void (*bsd_signal(int, void (*)(int)))(int);
 int sigisemptyset(const sigset_t *);
+int sigorset (sigset_t *, sigset_t *, sigset_t *);
+int sigandset(sigset_t *, sigset_t *, sigset_t *);
+
 #define SA_NOMASK SA_NODEFER
 #define SA_ONESHOT SA_RESETHAND
 #endif