1*3e12c5d1SDavid du Colombier #include "lib.h" 2*3e12c5d1SDavid du Colombier #include <signal.h> 3*3e12c5d1SDavid du Colombier #include <errno.h> 4*3e12c5d1SDavid du Colombier 5*3e12c5d1SDavid du Colombier sigset_t _psigblocked; 6*3e12c5d1SDavid du Colombier 7*3e12c5d1SDavid du Colombier int sigprocmask(int how,sigset_t * set,sigset_t * oset)8*3e12c5d1SDavid du Colombiersigprocmask(int how, sigset_t *set, sigset_t *oset) 9*3e12c5d1SDavid du Colombier { 10*3e12c5d1SDavid du Colombier if(oset) 11*3e12c5d1SDavid du Colombier *oset = _psigblocked; 12*3e12c5d1SDavid du Colombier if(how==SIG_BLOCK) 13*3e12c5d1SDavid du Colombier _psigblocked |= *set; 14*3e12c5d1SDavid du Colombier else if(how==SIG_UNBLOCK) 15*3e12c5d1SDavid du Colombier _psigblocked &= ~*set; 16*3e12c5d1SDavid du Colombier else if(how==SIG_SETMASK) 17*3e12c5d1SDavid du Colombier _psigblocked = *set; 18*3e12c5d1SDavid du Colombier else{ 19*3e12c5d1SDavid du Colombier errno = EINVAL; 20*3e12c5d1SDavid du Colombier return -1; 21*3e12c5d1SDavid du Colombier } 22*3e12c5d1SDavid du Colombier return 0; 23*3e12c5d1SDavid du Colombier } 24