FUTEX_UNLOCK_PI(2const) FUTEX_UNLOCK_PI(2const) NAME FUTEX_UNLOCK_PI - unlock a priority-inheritance futex LIBRARY Standard C library (libc, -lc) SYNOPSIS #include /* Definition of FUTEX_* constants */ #include /* Definition of SYS_* constants */ #include long syscall(SYS_futex, uint32_t *uaddr, FUTEX_UNLOCK_PI); DESCRIPTION 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 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 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 Linux. HISTORY Linux 2.6.18. SEE ALSO futex(2) Linux man-pages 6.16 2025-05-30 FUTEX_UNLOCK_PI(2const)