From 5b969f2baee38c34f6e1dddc4f35f743bf56da12 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 13 Jan 2019 10:56:09 -0700 Subject: [PATCH] Add pthread_sigmask --- src/header/signal/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/header/signal/mod.rs b/src/header/signal/mod.rs index d3495b5090..da11aa197d 100644 --- a/src/header/signal/mod.rs +++ b/src/header/signal/mod.rs @@ -48,6 +48,17 @@ pub extern "C" fn killpg(pgrp: pid_t, sig: c_int) -> c_int { Sys::killpg(pgrp, sig) } +#[no_mangle] +pub extern "C" fn pthread_sigmask(how: c_int, set: *const sigset_t, oldset: *mut sigset_t) -> c_int { + // On Linux and Redox, pthread_sigmask and sigprocmask are equivalent + if sigprocmask(how, set, oldset) == 0 { + 0 + } else { + //TODO: Fix race + unsafe { platform::errno } + } +} + #[no_mangle] pub extern "C" fn raise(sig: c_int) -> c_int { Sys::raise(sig)