Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   riastradh
Date:           Sat Jan 18 07:26:21 UTC 2025

Modified Files:
        src/sys/kern: sys_futex.c
        src/tests/lib/libc/sys: t_futex_ops.c

Log Message:
futex(2): Fix return value of FUTEX_CMP_REQUEUE.

The return value is the number of waiters woken _or requeued_, not
just the number of waiters woken:

   FUTEX_CMP_REQUEUE
          Returns the total number of waiters that were woken up or
          requeued to the futex for the futex word at uaddr2.  If
          this value is greater than val, then the difference is the
          number of waiters requeued to the futex for the futex word
          at uaddr2.

https://man7.org/linux/man-pages/man2/futex.2.html

While here, clarify some of the arguments with comments so it's not
quite so cryptic with val/val2/val3 everywhere.

PR kern/56828: futex calls in Linux emulation sometimes hang


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/kern/sys_futex.c
cvs rdiff -u -r1.9 -r1.10 src/tests/lib/libc/sys/t_futex_ops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index