about summary refs log tree commit diff
path: root/nptl/lowlevelrobustlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/lowlevelrobustlock.c')
-rw-r--r--nptl/lowlevelrobustlock.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/nptl/lowlevelrobustlock.c b/nptl/lowlevelrobustlock.c
index 3b988b2e31..efe307e68b 100644
--- a/nptl/lowlevelrobustlock.c
+++ b/nptl/lowlevelrobustlock.c
@@ -118,8 +118,11 @@ __lll_robust_timedlock_wait (int *futex, const struct timespec *abstime,
      || !defined lll_futex_timed_wait_bitset)
       lll_futex_timed_wait (futex, newval, &rt, private);
 #else
-      lll_futex_timed_wait_bitset (futex, newval, abstime,
-				   FUTEX_CLOCK_REALTIME, private);
+      int err = lll_futex_timed_wait_bitset (futex, newval, abstime,
+					     FUTEX_CLOCK_REALTIME, private);
+      /* The futex call timed out.  */
+      if (err == -ETIMEDOUT)
+         return -err;
 #endif
 
     try: