(lll_mutex_cond_lock): Add one to value parameter of __lll_lock_wait to reflect reality in the futex syscall.

This commit is contained in:
Ulrich Drepper 2003-05-30 16:32:35 +00:00
parent 2b1c0eeae3
commit 4761520e93
1 changed files with 4 additions and 1 deletions

View File

@ -118,7 +118,10 @@ extern void __lll_lock_wait (int *futex, int val) attribute_hidden;
int __val = atomic_exchange_and_add (__futex, 2); \
__asm __volatile (__lll_acq_instr ::: "memory"); \
if (__builtin_expect (__val != 0, 0)) \
__lll_lock_wait (__futex, __val); \
/* Note, the val + 1 is kind of ugly here. __lll_lock_wait will add \
1 again. But we added 2 to the futex value so this is the right \
value which will be passed to the kernel. */ \
__lll_lock_wait (__futex, __val + 1); \
})
extern int __lll_timedlock_wait