this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add sys_sigprocmask()

+37
+1
src/kernel/emulation/linux/CMakeLists.txt
··· 63 63 signal/sigaltstack.c 64 64 signal/sigaction.c 65 65 signal/sigreturn.c 66 + signal/sigprocmask.c 66 67 misc/ioctl.c 67 68 misc/thread_selfid.c 68 69 misc/sysctl.c
+26
src/kernel/emulation/linux/signal/sigprocmask.c
··· 1 + #include "sigprocmask.h" 2 + #include "../base.h" 3 + #include "../errno.h" 4 + #include "duct_signals.h" 5 + #include <stddef.h> 6 + #include <asm/unistd.h> 7 + 8 + static inline int spchow_bsd_to_linux(int how) { return how-1; } 9 + 10 + long sys_sigprocmask(int how, const sigset_t* set, sigset_t* oldset) 11 + { 12 + int ret, linux_how; 13 + linux_sigset_t in, out; 14 + 15 + linux_how = spchow_bsd_to_linux(how); 16 + sigset_bsd_to_linux(set, &in); 17 + 18 + ret = LINUX_SYSCALL(__NR_rt_sigprocmask, linux_how, &in, &out); 19 + if (ret < 0) 20 + ret = errno_linux_to_bsd(ret); 21 + else if (oldset != NULL) 22 + sigset_linux_to_bsd(&out, oldset); 23 + 24 + return ret; 25 + } 26 +
+8
src/kernel/emulation/linux/signal/sigprocmask.h
··· 1 + #ifndef LINUX_SIGPROCMASK_H 2 + #define LINUX_SIGPROCMASK_H 3 + #include "duct_signals.h" 4 + 5 + long sys_sigprocmask(int how, const sigset_t* set, sigset_t* oldset); 6 + 7 + #endif 8 +
+2
src/kernel/emulation/linux/syscalls.c
··· 44 44 #include "signal/sigaltstack.h" 45 45 #include "signal/sigaction.h" 46 46 #include "signal/sigreturn.h" 47 + #include "signal/sigprocmask.h" 47 48 #include "process/vfork.h" 48 49 #include "process/wait4.h" 49 50 #include "process/waitid.h" ··· 113 114 [41] = sys_dup, 114 115 [43] = sys_getegid, 115 116 [46] = sys_sigaction, 117 + [48] = sys_sigprocmask, 116 118 [53] = sys_sigaltstack, 117 119 [54] = sys_ioctl, 118 120 [57] = sys_symlink,