ref: 0a8ca27bbba8bc05b17ba53e745abc8268314b28
dir: /sys/src/ape/lib/ap/plan9/sigprocmask.c/
#include "lib.h" #include <signal.h> #include <errno.h> sigset_t _psigblocked; int sigprocmask(int how, sigset_t *set, sigset_t *oset) { if(oset) *oset = _psigblocked; if(how==SIG_BLOCK) _psigblocked |= *set; else if(how==SIG_UNBLOCK) _psigblocked &= ~*set; else if(how==SIG_SETMASK) _psigblocked = *set; else{ errno = EINVAL; return -1; } return 0; }