ref: 8188b4f4f0e07b6669e6ae3c6c1099af917eaab4
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; }