summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-07-01 19:07:14 -0700
committerUlrich Drepper <drepper@redhat.com>2010-07-01 19:07:14 -0700
commit2983d85ee5492c4ab1f09ca554e47192fa5c97a2 (patch)
treef29ff2f385ed77ed4f4b282935a5a33574e1ab41 /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
parent72b6e8c85b95a949d8c5d827a16dd1492d9ef26b (diff)
Work around kernel rejecting valid absolute timestamps
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
index cd867b60dc..6ed8b49bd6 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -99,6 +99,9 @@ pthread_rwlock_timedwrlock:
je .Lreltmo
#endif
+ cmpq $0, (%r13)
+ js 16f /* Time is already up. */
+
movl $FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %esi
xorl PSHARED(%r12), %esi
movq %r13, %r10