Commit Graph

111 Commits

Author SHA1 Message Date
Michael Kerrisk ff5976814d futex.2: Expand FUTEX_FD description
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 75bc6c1197 futex.2: srcfix: note kernel commit that removed FUTEX_FD
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 1abce893a5 futex.2: srcfix: add copyright notices
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 730bfbda71 futex.2: FUTEX_WAKE makes no guarantees about which waiters are awoken
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 2674f7815a futex.2: FUTEX_WAIT_BITSET can also get EINTR error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4710334a35 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 36ab2074ca futex.2: Add introductory paragraph describing 'timeout', 'uaddr2', and 'val3'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk f388ba704e futex.2: Rewrite the intro paragraphs a little
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk dd05d61221 futex.2: Cut down discussion of FUTEX_REQUEUE; defer to FUTEX_CMP_REQUEUE
FUTEX_CMP_REQUEUE supercedes FUTEX_REQUEUE and provides a superset
of its functionality. There is need to duplicate any details in
the FUTEX_REQUEUE description, simple defer to the
FUTEX_CMP_REQUEUE and note the differences. This also guides the
reader to do the right thing: use FUTEX_CMP_REQUEUE rather than
FUTEX_REQUEUE.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 3dfcc11d46 futex.2: Expand description of FUTEX_CMP_REQUEUE
With some help from "Futexes are tricky" bt Ulrich Drepper.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4ac63a6c1a futex.2: Warn that FUTEX_REQUEUE should be avoided in favor of FUTEX_CMP_REQUEUE
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 6bac3b8517 futex.2: Document FUTEX_WAKE_OP
Based on "Futexes are tricky" and some reading of the kernel
source.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk f42eb21b57 futex.2: SEE ALSO: Add reference to "Futexes are tricky" by Ulrich Drepper
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk ec77c507c1 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk d33602c4e0 futex.2: Rename 'op' argument to 'futex_op'
This is a little more readable, and also helps avoid confusing
when talking about the 'op' subfield in the FUTEX_WAKE_OP
discussion.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 9a12ca2185 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 519f2c3db6 futex.2: srcfix: add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk f065673c7a futex.2: Elaborate on the operation of FUTEX_WAIT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 36448cfa8d futex.2: Remove duplicate EQWOULDBLOCK error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 1c952cf53c futex.2: Note that the CLOCK_MONOTONIC clock is used for relative timeouts
Verified from inspection of kernel/futex.c::futex_wait().

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 1909e523d0 futex.2: Clarify that the FUTEX_WAIT timeout is relative
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 81c9d87e3d futex.2: Clarify which operations were available as at Linux 2.6.0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 4a7e5b05cc futex.2: Rework FUTEX_CLOCK_REALTIME text
And move ENOSYS diuscussion to ERRORS.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk d67e21f5e2 futex.2: Add placeholders for as yet undocumented operations
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner 2e98bbc24a futex.2: Document FUTEX_CLOCK_REALTIME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner fc30eb799b futex.2: Document FUTEX_PRIVATE_FLAG
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 6be4bad7e0 futex.2: Note that 'op' argument consists of two parts: operation + options
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 5c47973251 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 409f08b018 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk a72a3aeb43 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk fd1dc4c2c7 futex.2: srcfix: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk e169277fca futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL inconsistent state case
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk a1f47699ab futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL for non-4-byte aligned address
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 98fe2f25d2 futex.2: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 03433acb7b futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk add875c03c futex.2: ERRORS: add EINVAL for FUTEX_REQUEUE to same futex
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk bae14b6c60 futex.2: ERRORS: Add FUTEX_REQUEUE to EINVAL inconsistent state case
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk caf1ff2510 futex.2: ERRORS: add FUTEX_REQUEUE to EINVAL for non-4-byte aligned address
Reported-by Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner 2abb73b988 futex.2: Rework description of arguments for FUTEX_REQUEUE
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 4798a7f357 futex.2: ffix: Separate text about ignored arguments into individual paragraphs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 496df3049b futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Thomas Gleixner 9534086bb1 futex.2: ERRORS: add EINVAL error for FUTEX_WAIT inconsistent state case
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk ea355b7f77 futex.2: Add FUTEX_WAKE to EINVAL error for 'uaddr' not 4-byte aligned
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk d1926d782e futex.2: Reword ETIMEDOUT error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 6b5025a640 futex.2: ERRORS: add EWOULDBLOCK for FUTEX_WAIT atomic enqueueing failed
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 51ee94bee5 futex.2: ERRORS: add EINVAL for 'uaddr' not 4-byte aligned
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk fb2f4c272f futex.2: ERRORS: Add EINVAL error for invalid timeout
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 1ea901e832 futex.2: ERRORS: Improve description of EFAULT error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Stéphane Aulery d282bb247b iconv.1, localedef.1, access.2, execveat.2, fanotify_init.2, futex.2, ioctl_fat.2, mount.2, ftw.3, sd.4, tty_ioctl.4, fanotify.7, futex.7, posixoptions.7, iconvconfig.8: srcfix: Remove useless quotes from .SS and .SH sections
Signed-off-by: Stéphane Aulery <saulery@free.fr>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-03-08 08:55:03 +01:00
Michael Kerrisk bea08fec7e adjtimex.2, bind.2, cacheflush.2, clone.2, fallocate.2, fanotify_init.2, fanotify_mark.2, flock.2, futex.2, getdents.2, getpriority.2, getrlimit.2, gettid.2, gettimeofday.2, ioprio_set.2, kexec_load.2, migrate_pages.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, msgop.2, nfsservctl.2, perf_event_open.2, pread.2, ptrace.2, recvmmsg.2, rename.2, restart_syscall.2, sched_setattr.2, send.2, shmop.2, shutdown.2, sigaction.2, signalfd.2, syscalls.2, timer_create.2, timerfd_create.2, tkill.2, vmsplice.2, wait.2, aio_init.3, confstr.3, exit.3, fmemopen.3, fopen.3, getaddrinfo.3, getauxval.3, getspnam.3, isalpha.3, isatty.3, mallinfo.3, malloc.3, mallopt.3, psignal.3, pthread_attr_setinheritsched.3, qecvt.3, queue.3, rtnetlink.3, strerror.3, strftime.3, toupper.3, towlower.3, towupper.3, initrd.4, locale.5, proc.5, bootparam.7, capabilities.7, ddp.7, fanotify.7, icmp.7, inotify.7, ip.7, ipv6.7, netdevice.7, netlink.7, path_resolution.7, rtld-audit.7, rtnetlink.7, sched.7, signal.7, socket.7, svipc.7, tcp.7, unix.7, ld.so.8: srcfix: Update FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-08-21 16:47:44 -05:00