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