1 #include <sys/cdefs.h> 2 #include <sys/types.h> 3 #include <sys/sigtypes.h> 4 #include <sys/signal.h> 5 #include <lib.h> 6 #include <string.h> 7 #include "namespace.h" 8 9 #include <string.h> 10 #include <signal.h> 11 sigprocmask(how,set,oset)12int sigprocmask(how, set, oset) 13 int how; 14 const sigset_t *set; 15 sigset_t *oset; 16 { 17 message m; 18 19 memset(&m, 0, sizeof(m)); 20 if (set == (sigset_t *) NULL) { 21 m.m_lc_pm_sigset.how = SIG_INQUIRE; 22 sigemptyset(&m.m_lc_pm_sigset.set); 23 } else { 24 m.m_lc_pm_sigset.how = how; 25 m.m_lc_pm_sigset.set = *set; 26 } 27 if (_syscall(PM_PROC_NR, PM_SIGPROCMASK, &m) < 0) return(-1); 28 if (oset != NULL) *oset = m.m_pm_lc_sigset.set; 29 30 return(m.m_type); 31 } 32 33 #if defined(__minix) && defined(__weak_alias) 34 __weak_alias(sigprocmask, __sigprocmask14) 35 #endif 36