Clean up nptl/tst-join5 use of nanosleep.

This commit is contained in:
Roland McGrath 2015-02-06 12:21:38 -08:00
parent 8c28bbc6d9
commit ca0e0675a7
2 changed files with 11 additions and 7 deletions

View File

@ -1,5 +1,9 @@
2015-02-06 Roland McGrath <roland@hack.frob.com>
* nptl/tst-join5.c: Drop #include <sys/syscall.h>.
(wait_code): New function replaces macro.
Call nanosleep rather than syscall.
* nptl/pt-system.c: Rewritten. Put everything under
[SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)].
Use IFUNC to redirect when possible.

View File

@ -22,15 +22,15 @@
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <sys/syscall.h>
#define wait_code() \
do { \
struct timespec ts = { .tv_sec = 0, .tv_nsec = 200000000 }; \
while (syscall (__NR_nanosleep, &ts, &ts) < 0) \
/* nothing */; \
} while (0)
static void
wait_code (void)
{
struct timespec ts = { .tv_sec = 0, .tv_nsec = 200000000 };
while (nanosleep (&ts, &ts) < 0)
;
}
#ifdef WAIT_IN_CHILD