summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/signal.h1
-rw-r--r--src/signal/sigisemptyset.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/include/signal.h b/include/signal.h
index 5f39ddbd..9cebddd9 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -106,6 +106,7 @@ void (*sigset(int, void (*)(int)))(int);
#ifdef _GNU_SOURCE
typedef void (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);
+int sigisemptyset(const sigset_t *);
#define SA_NOMASK SA_NODEFER
#endif
diff --git a/src/signal/sigisemptyset.c b/src/signal/sigisemptyset.c
new file mode 100644
index 00000000..e2410514
--- /dev/null
+++ b/src/signal/sigisemptyset.c
@@ -0,0 +1,9 @@
+#define _GNU_SOURCE
+#include <signal.h>
+#include <string.h>
+
+int sigisemptyset(const sigset_t *set)
+{
+ static const sigset_t zeroset;
+ return !memcmp(set, &zeroset, 8);
+}