From 2d9054b39afa83825168c21ef8266c6c2ae82c3e Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Thu, 21 Apr 2011 21:58:18 +0200 Subject: pause.c: use cancel.h, provide __libc_pause only for LT_OLD Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/pause.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'libc/sysdeps/linux/common/pause.c') diff --git a/libc/sysdeps/linux/common/pause.c b/libc/sysdeps/linux/common/pause.c index a77c4d581..8a4d82177 100644 --- a/libc/sysdeps/linux/common/pause.c +++ b/libc/sysdeps/linux/common/pause.c @@ -10,32 +10,23 @@ #define __need_NULL #include #include - -#ifdef __UCLIBC_HAS_THREADS_NATIVE__ -#include -#endif - #include +#include -/* Suspend the process until a signal arrives. - This always returns -1 and sets errno to EINTR. */ -extern __typeof(pause) __libc_pause; int -__libc_pause (void) +#ifdef __LINUXTHREADS_OLD__ +weak_function +#endif +pause(void) { - sigset_t set; + sigset_t set; - /*__sigemptyset (&set); - why? */ - sigprocmask (SIG_BLOCK, NULL, &set); + /*__sigemptyset (&set); - why? */ + sigprocmask (SIG_BLOCK, NULL, &set); - /* pause is a cancellation point, but so is sigsuspend. - So no need for anything special here. */ - - return sigsuspend (&set); + /* pause is a cancellation point, but so is sigsuspend. + So no need for anything special here. */ + return sigsuspend(&set); } -weak_alias (__libc_pause, pause) - -#ifdef __UCLIBC_HAS_THREADS_NATIVE__ +lt_strong_alias(pause) LIBC_CANCEL_HANDLED (); /* sigsuspend handles our cancellation. */ -#endif - -- cgit v1.2.3