about summary refs log tree commit diff
path: root/sysdeps/htl/sem-timedwait.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-07 03:12:36 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-07 03:14:49 +0200
commitbe22a151f3e2c2e4b9127d4fa30b269f30a7ea2e (patch)
tree8cac3fb673b78c9fe02a404e142350756ce9742b /sysdeps/htl/sem-timedwait.c
parent6c5ca98d096a5f61144555c76fdfd3c2ad561082 (diff)
downloadglibc-be22a151f3e2c2e4b9127d4fa30b269f30a7ea2e.tar.gz
glibc-be22a151f3e2c2e4b9127d4fa30b269f30a7ea2e.tar.xz
glibc-be22a151f3e2c2e4b9127d4fa30b269f30a7ea2e.zip
htl: Add sem_clockwait support
* sysdeps/htl/sem-timedwait.c (__sem_timedwait_internal): Add clock_id
parameter instead of hardcoding CLOCK_REALTIME.
(__sem_clockwait): New function.
(sem_clockwait): New weak alias.
* sysdeps/htl/sem-wait.c (__sem_timedwait_internal): Update declaration.
(__sem_wait): Update call to __sem_timedwait_internal.
* htl/Versions (GLIBC_2.32): Add sem_clockwait.
* sysdeps/mach/hurd/i386/libpthread.abilist (sem_clockwait): Add symbol.
* nptl/Makefile (tests): Move tst-sem5 to...
* sysdeps/pthread/Makefile (tests): ... here.
Diffstat (limited to 'sysdeps/htl/sem-timedwait.c')
-rw-r--r--sysdeps/htl/sem-timedwait.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/htl/sem-timedwait.c b/sysdeps/htl/sem-timedwait.c
index 2d8cf25328..0b1b6d0961 100644
--- a/sysdeps/htl/sem-timedwait.c
+++ b/sysdeps/htl/sem-timedwait.c
@@ -25,12 +25,12 @@
 
 int
 __sem_timedwait_internal (sem_t *restrict sem,
+			  clockid_t clock_id,
 			  const struct timespec *restrict timeout)
 {
   error_t err;
   int drain;
   struct __pthread *self;
-  clockid_t clock_id = CLOCK_REALTIME;
 
   __pthread_spin_wait (&sem->__lock);
   if (sem->__value > 0)
@@ -89,9 +89,17 @@ __sem_timedwait_internal (sem_t *restrict sem,
 }
 
 int
+__sem_clockwait (sem_t *sem, clockid_t clockid,
+		 const struct timespec *restrict timeout)
+{
+  return __sem_timedwait_internal (sem, clockid, timeout);
+}
+weak_alias (__sem_clockwait, sem_clockwait);
+
+int
 __sem_timedwait (sem_t *restrict sem, const struct timespec *restrict timeout)
 {
-  return __sem_timedwait_internal (sem, timeout);
+  return __sem_timedwait_internal (sem, CLOCK_REALTIME, timeout);
 }
 
 weak_alias (__sem_timedwait, sem_timedwait);