summary refs log tree commit diff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-22 22:25:27 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-22 22:25:27 +0200
commit8bf0bc8350b32ae1b052b9a7de5f9e84b35e325e (patch)
tree80e0d70482c9d837231d931ca81155ac570e44f0 /sysdeps/mach
parent4c199499d65bb06d304ec1b734de738b8f252b97 (diff)
downloadglibc-8bf0bc8350b32ae1b052b9a7de5f9e84b35e325e.tar.gz
glibc-8bf0bc8350b32ae1b052b9a7de5f9e84b35e325e.tar.xz
glibc-8bf0bc8350b32ae1b052b9a7de5f9e84b35e325e.zip
htl: make __pthread_hurd_cond_timedwait_internal check mutex is held
Like __pthread_cond_timedwait_internal already does.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c
index d81f0a2d8d..16f0d3b309 100644
--- a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c
+++ b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c
@@ -73,6 +73,10 @@ __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond,
   if (abstime != NULL && ! valid_nanoseconds (abstime->tv_nsec))
     return EINVAL;
 
+  err = __pthread_mutex_checklocked (mutex);
+  if (err)
+    return err;
+
   /* Atomically enqueue our thread on the condition variable's queue of
      waiters, and mark our sigstate to indicate that `cancel_me' must be
      called to wake us up.  We must hold the sigstate lock while acquiring