From 961d1304abb74f3ed8ca6ca0b7c622a2bc018fce Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Sat, 5 Jan 2019 09:40:08 -0700
Subject: [PATCH] Add sigismember

---
 src/header/signal/mod.rs | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/header/signal/mod.rs b/src/header/signal/mod.rs
index 8bb133bb0..d3495b509 100644
--- a/src/header/signal/mod.rs
+++ b/src/header/signal/mod.rs
@@ -131,9 +131,21 @@ pub extern "C" fn siginterrupt(sig: c_int, flag: c_int) -> c_int {
     unimplemented!();
 }
 
-// #[no_mangle]
+#[no_mangle]
 pub extern "C" fn sigismember(set: *const sigset_t, signo: c_int) -> c_int {
-    unimplemented!();
+    if signo <= 0 || signo as usize > NSIG {
+        unsafe {
+            platform::errno = errno::EINVAL;
+        }
+        return -1;
+    }
+
+    if let Some(set) = unsafe { (set as *mut SigSet).as_mut() } {
+        if set.contains(signo as usize - 1) {
+            return 1;
+        }
+    }
+    0
 }
 
 extern "C" {
-- 
GitLab