diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-11-05 21:37:44 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-11-06 14:47:02 -0300 |
commit | 3537ecb49cf7177274607004c562d6f9ecc99474 (patch) | |
tree | 7321853007814993f485345e97b9b2ff61032a0c /posix/nanosleep.c | |
parent | 79a547b162657b3fa34d31917cc29f0e7af19e4c (diff) | |
download | glibc-3537ecb49cf7177274607004c562d6f9ecc99474.tar.gz glibc-3537ecb49cf7177274607004c562d6f9ecc99474.tar.xz glibc-3537ecb49cf7177274607004c562d6f9ecc99474.zip |
Refactor nanosleep in terms of clock_nanosleep
The generic version is straightforward. For Hurd, its nanosleep implementation is moved to clock_nanosleep with adjustments from generic unix implementation. The generic clock_nanosleep unix version is also removed since it calls nanosleep. Checked on x86_64-linux-gnu and powerpc64le-linux-gnu. Reviewed-by: Florian Weimer <fweimer@redhat.com>
Diffstat (limited to 'posix/nanosleep.c')
-rw-r--r-- | posix/nanosleep.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/posix/nanosleep.c b/posix/nanosleep.c index d8564c7119..ed41c8cce7 100644 --- a/posix/nanosleep.c +++ b/posix/nanosleep.c @@ -24,10 +24,13 @@ int __nanosleep (const struct timespec *requested_time, struct timespec *remaining) { - __set_errno (ENOSYS); - return -1; + int ret = __clock_nanosleep (CLOCK_REALTIME, 0, requested_time, remaining); + if (ret != 0) + { + __set_errno (ret); + return -1; + } + return 0; } -stub_warning (nanosleep) - -hidden_def (__nanosleep) +libc_hidden_def (__nanosleep) weak_alias (__nanosleep, nanosleep) |