浏览代码

Add pthread_sigmask

Jeremy Soller 6 年之前
父节点
当前提交
5b969f2bae
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      src/header/signal/mod.rs

+ 11 - 0
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)