From 84ed9f91d8e17566df8ca760f48927d44c17f09b Mon Sep 17 00:00:00 2001 From: Alexander Leidinger Date: Sat, 26 Aug 2006 10:36:16 +0000 Subject: [PATCH] Correct the number of retries in a futex_wake() call. Sponsored by: Google SoC 2006 Submitted by: rdivacky --- sys/compat/linux/linux_futex.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c index ec329ca0558..8e3b168db11 100644 --- a/sys/compat/linux/linux_futex.c +++ b/sys/compat/linux/linux_futex.c @@ -306,8 +306,12 @@ linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args) printf("second wakeup\n"); #endif op_ret = 0; - /* Linux always puts there 0 retries */ - op_ret += futex_wake(f2, 0, NULL); + /* + * Linux uses the address of the timespec parameter + * as the number of retries, so any large number will + * be ok. + */ + op_ret += futex_wake(f2, 0x7fffffff, NULL); ret += op_ret; } futex_put(f2);