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