Seems I forgot to set the return value after wakeup. Okay?

Index: linux_futex.c
===================================================================
RCS file: /cvs/src/sys/compat/linux/linux_futex.c,v
retrieving revision 1.4
diff -u -p -r1.4 linux_futex.c
--- linux_futex.c       19 Jun 2012 08:50:59 -0000      1.4
+++ linux_futex.c       19 Jun 2012 09:07:54 -0000
@@ -227,6 +227,7 @@ linux_do_futex(struct proc *p, const str
                DPRINTF(("FUTEX_WAIT %d: Woke up from uaddr %8.8X with "
                    "ret = %d\n", tid, SCARG(uap, uaddr), ret));
 
+               *retval = ret ? -1 : 0;
                switch (ret) {
                case EWOULDBLOCK:       /* timeout */
                        return ETIMEDOUT;

Reply via email to