diff options
author | Andreas Schwab <schwab@redhat.com> | 2010-07-01 19:07:14 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-07-01 19:07:14 -0700 |
commit | 2983d85ee5492c4ab1f09ca554e47192fa5c97a2 (patch) | |
tree | f29ff2f385ed77ed4f4b282935a5a33574e1ab41 /nptl/sysdeps/unix/sysv/linux/i386 | |
parent | 72b6e8c85b95a949d8c5d827a16dd1492d9ef26b (diff) | |
download | glibc-2983d85ee5492c4ab1f09ca554e47192fa5c97a2.tar glibc-2983d85ee5492c4ab1f09ca554e47192fa5c97a2.tar.gz glibc-2983d85ee5492c4ab1f09ca554e47192fa5c97a2.tar.bz2 glibc-2983d85ee5492c4ab1f09ca554e47192fa5c97a2.zip |
Work around kernel rejecting valid absolute timestamps
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S index 7578c7ece0..2198ccf55a 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2002-2004,2006,2007,2009,2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -188,6 +188,9 @@ __lll_timedlock_wait: je .Lreltmo # endif + cmpl $0, (%edx) + js 8f + movl %ecx, %ebx movl %esi, %ecx movl %edx, %esi @@ -223,6 +226,9 @@ __lll_timedlock_wait: cfi_restore(%ebp) ret +8: movl $ETIMEDOUT, %eax + jmp 7b + # ifndef __ASSUME_FUTEX_CLOCK_REALTIME .Lreltmo: /* Check for a valid timeout value. */ |