|
@@ -7,16 +7,24 @@
|
|
|
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
|
|
|
*/
|
|
|
|
|
|
-#define __need_NULL
|
|
|
-#include <stddef.h>
|
|
|
+#include <sys/syscall.h>
|
|
|
#include <unistd.h>
|
|
|
-#include <signal.h>
|
|
|
#include <cancel.h>
|
|
|
|
|
|
+#ifdef __NR_pause
|
|
|
+
|
|
|
+# define __NR___pause_nocancel __NR_pause
|
|
|
+static _syscall0(int, __NC(pause))
|
|
|
+CANCELLABLE_SYSCALL(int, pause, (void), ())
|
|
|
+#else
|
|
|
+# define __need_NULL
|
|
|
+# include <stddef.h>
|
|
|
+# include <signal.h>
|
|
|
+
|
|
|
int
|
|
|
-#ifdef __LINUXTHREADS_OLD__
|
|
|
+# ifdef __LINUXTHREADS_OLD__
|
|
|
weak_function
|
|
|
-#endif
|
|
|
+# endif
|
|
|
pause(void)
|
|
|
{
|
|
|
sigset_t set;
|
|
@@ -30,3 +38,4 @@ pause(void)
|
|
|
}
|
|
|
lt_strong_alias(pause)
|
|
|
LIBC_CANCEL_HANDLED ();
|
|
|
+#endif
|