__aeabi_ldivmod: fix sign logic
[minix.git] / lib / libc / sys-minix / sigprocmask.c
blob4770e807493c32241e0f023ed6e5b5baccd4925e
1 #include <sys/cdefs.h>
2 #include <lib.h>
3 #include "namespace.h"
5 #include <signal.h>
7 int sigprocmask(how, set, oset)
8 int how;
9 const sigset_t *set;
10 sigset_t *oset;
12 message m;
14 if (set == (sigset_t *) NULL) {
15 m.m2_i1 = SIG_INQUIRE;
16 m.m2_l1 = 0;
17 } else {
18 m.m2_i1 = how;
19 m.m2_l1 = (long) *set;
21 if (_syscall(PM_PROC_NR, SIGPROCMASK, &m) < 0) return(-1);
22 if (oset != (sigset_t *) NULL) *oset = (sigset_t) (m.m2_l1);
23 return(m.m_type);
26 #if defined(__minix) && defined(__weak_alias)
27 __weak_alias(sigprocmask, __sigprocmask14)
28 #endif