summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/sigsuspend.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-08-23 23:25:34 +0000
committerMike Frysinger <vapier@gentoo.org>2006-08-23 23:25:34 +0000
commitb4a09d83d1568672b94fe91b678194409983b824 (patch)
tree89e0bc03c51c7158e5222801600935456ac328d6 /libc/sysdeps/linux/common/sigsuspend.c
parentaabaf1b78632327a9549b6901074565f4c54d95b (diff)
psm updates: add __libc symbols for signal cancellation
Diffstat (limited to 'libc/sysdeps/linux/common/sigsuspend.c')
-rw-r--r--libc/sysdeps/linux/common/sigsuspend.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/sigsuspend.c b/libc/sysdeps/linux/common/sigsuspend.c
index 7bc3a59c1..87054e8e0 100644
--- a/libc/sysdeps/linux/common/sigsuspend.c
+++ b/libc/sysdeps/linux/common/sigsuspend.c
@@ -9,15 +9,14 @@
#include "syscalls.h"
#include <signal.h>
-#undef sigsuspend
-libc_hidden_proto(sigsuspend)
+extern __typeof(sigsuspend) __libc_sigsuspend;
#ifdef __NR_rt_sigsuspend
# define __NR___rt_sigsuspend __NR_rt_sigsuspend
static inline _syscall2(int, __rt_sigsuspend, const sigset_t *, mask, size_t, size);
-int sigsuspend(const sigset_t * mask)
+int __libc_sigsuspend(const sigset_t * mask)
{
return __rt_sigsuspend(mask, _NSIG / 8);
}
@@ -26,9 +25,11 @@ int sigsuspend(const sigset_t * mask)
static inline _syscall3(int, __syscall_sigsuspend, int, a, unsigned long int, b,
unsigned long int, c);
-int sigsuspend(const sigset_t * set)
+int __libc_sigsuspend(const sigset_t * set)
{
return __syscall_sigsuspend(0, 0, set->__val[0]);
}
#endif
-libc_hidden_def(sigsuspend)
+libc_hidden_proto(sigsuspend)
+weak_alias(__libc_sigsuspend,sigsuspend)
+libc_hidden_weak(sigsuspend)