#ifdef _GNU_SOURCE
#define __siginfo siginfo
+#define __ucontext ucontext
#endif
#define __NEED_size_t
#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
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
-#define NSIG _NSIG
#endif
#include <bits/signal.h>