1 /* vi: set sw=4 ts=4: */
3 * sigsuspend() for uClibc
5 * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
7 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
10 #include <sys/syscall.h>
12 #if defined __USE_POSIX
15 extern __typeof(sigsuspend) __libc_sigsuspend;
17 #ifdef __NR_rt_sigsuspend
18 # define __NR___rt_sigsuspend __NR_rt_sigsuspend
19 static __inline__ _syscall2(int, __rt_sigsuspend, const sigset_t *, mask, size_t, size)
21 int __libc_sigsuspend(const sigset_t * mask)
23 return __rt_sigsuspend(mask, _NSIG / 8);
26 # define __NR___syscall_sigsuspend __NR_sigsuspend
27 static __inline__ _syscall3(int, __syscall_sigsuspend, int, a, unsigned long int, b,
30 int __libc_sigsuspend(const sigset_t * set)
32 return __syscall_sigsuspend(0, 0, set->__val[0]);
35 weak_alias(__libc_sigsuspend,sigsuspend)
36 libc_hidden_weak(sigsuspend)