1 /* vi: set sw=4 ts=4: */
3 * sigprocmask() for uClibc
5 * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org>
7 * GNU Library General Public License (LGPL) version 2 or later.
15 #ifdef __NR_rt_sigprocmask
17 #define __NR___rt_sigprocmask __NR_rt_sigprocmask
19 _syscall4(int, __rt_sigprocmask, int, how, const sigset_t *, set,
20 sigset_t *, oldset, size_t, size);
22 int sigprocmask(int how, const sigset_t * set, sigset_t * oldset)
25 #if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2)
26 (((unsigned int) how) > 2)
28 #warning "compile time assumption violated.. slow path..."
29 ((how != SIG_BLOCK) && (how != SIG_UNBLOCK)
30 && (how != SIG_SETMASK))
36 return __rt_sigprocmask(how, set, oldset, _NSIG / 8);
42 #define __NR___syscall_sigprocmask __NR_sigprocmask
44 _syscall3(int, __syscall_sigprocmask, int, how, const sigset_t *, set,
47 int sigprocmask(int how, const sigset_t * set, sigset_t * oldset)
50 #if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2)
51 (((unsigned int) how) > 2)
53 #warning "compile time assumption violated.. slow path..."
54 ((how != SIG_BLOCK) && (how != SIG_UNBLOCK)
55 && (how != SIG_SETMASK))
61 return (__syscall_sigprocmask(how, set, oldset));
65 libc_hidden_proto(sigprocmask)
66 libc_hidden_def(sigprocmask)