diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S index 02db0a4f9d..5218a4f57a 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S @@ -1,5 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 - Free Software Foundation, Inc. +/* Copyright (C) 2002=2007, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -125,6 +124,9 @@ __lll_robust_timedlock_wait: je .Lreltmo # endif + cmpq $0, (%rdx) + js 7f + pushq %r9 cfi_adjust_cfa_offset(8) cfi_rel_offset(%r9, 0) @@ -180,6 +182,9 @@ __lll_robust_timedlock_wait: cfi_adjust_cfa_offset(-8) cfi_restore(%r9) +7: movl $ETIMEDOUT, %eax + retq + # ifndef __ASSUME_FUTEX_CLOCK_REALTIME .Lreltmo: |