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