diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/ape/lib/ap/plan9/sigprocmask.c |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/ape/lib/ap/plan9/sigprocmask.c')
-rwxr-xr-x | sys/src/ape/lib/ap/plan9/sigprocmask.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/src/ape/lib/ap/plan9/sigprocmask.c b/sys/src/ape/lib/ap/plan9/sigprocmask.c new file mode 100755 index 000000000..84b94f987 --- /dev/null +++ b/sys/src/ape/lib/ap/plan9/sigprocmask.c @@ -0,0 +1,23 @@ +#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; +} |