FUTEX_UNLOCK_PI(2const) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | STANDARDS | HISTORY | SEE ALSO | COLOPHON

FUTEX_UNLOCK_PI(2const)                           FUTEX_UNLOCK_PI(2const)

NAME         top

       FUTEX_UNLOCK_PI - unlock a priority‐inheritance futex

LIBRARY         top

       Standard C library (libc, -lc)

SYNOPSIS         top

       #include <linux/futex.h>  /* Definition of FUTEX_* constants */
       #include <sys/syscall.h>  /* Definition of SYS_* constants */
       #include <unistd.h>

       long syscall(SYS_futex, uint32_t *uaddr, FUTEX_UNLOCK_PI);

DESCRIPTION         top

       This operation wakes the top priority waiter that is waiting in
       FUTEX_LOCK_PI(2const) or FUTEX_LOCK_PI2(2const) on the futex
       address provided by the uaddr argument.

       This is called when the user-space value at uaddr cannot be
       changed atomically from a TID (of the owner) to 0.

RETURN VALUE         top

       On error, -1 is returned, and errno is set to indicate the error.

       On success, FUTEX_UNLOCK_PI returns 0 if the futex was
       successfully unlocked.

ERRORS         top

       See futex(2).

       EINVAL The kernel detected an inconsistency between the user-space
              state at uaddr and the kernel state.  This indicates either
              state corruption or that the kernel found a waiter on uaddr
              which is waiting via FUTEX_WAIT(2const) or
              FUTEX_WAIT_BITSET(2const).

       ENOSYS A run-time check determined that the operation is not
              available.  The PI-futex operations are not implemented on
              all architectures and are not supported on some CPU
              variants.

       EPERM  The caller does not own the lock represented by the futex
              word.

STANDARDS         top

       Linux.

HISTORY         top

       Linux 2.6.18.

SEE ALSO         top

       futex(2)

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.15.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2025-08-11.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       [email protected]

Linux man-pages 6.15            2025-05-30        FUTEX_UNLOCK_PI(2const)

Pages that refer to this page: futex(2)