ref: 5fd2e746e1a2a00d2acbc0c3b1924b1ea22101e8
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; }