.BI " const struct timespec *" timeout );
.fi
.SH DESCRIPTION
-.TP
-.BR FUTEX_LOCK_PI2 " (since Linux 5.14)"
-.\" commit bf22a6976897977b0a3f1aeba6823c959fc4fdae
This operation is the same as
.BR FUTEX_LOCK_PI (2const),
except that the clock against which
.I timeout
is measured is selectable.
+.P
By default, the (absolute) timeout specified in
.I timeout
is measured against the
clock.
.\"
.SH RETURN VALUE
-On error,
-\-1 is returned,
-and
-.I errno
-is set to indicate the error.
-.P
-On success,
-.B FUTEX_LOCK_PI2
-Returns 0 if the futex was successfully locked.
+See
+.BR FUTEX_LOCK_PI (2const).
.SH ERRORS
See
-.BR futex (2).
-.TP
-.B EAGAIN
-The futex owner thread ID of
-.I uaddr
-is about to exit,
-but has not yet handled the internal state cleanup.
-Try again.
-.TP
-.B EDEADLK
-The futex word at
-.I uaddr
-is already locked by the caller.
-.TP
-.B EFAULT
-.I timeout
-did not point to a valid user-space address.
-.TP
-.B EINVAL
-The supplied
-.I timeout
-argument was invalid
-.RI ( tv_sec
-was less than zero, or
-.I tv_nsec
-was not less than 1,000,000,000).
-.TP
-.B EINVAL
-The kernel detected an inconsistency between the user-space state at
-.I uaddr
-and the kernel state.
-This indicates either state corruption
-or that the kernel found a waiter on
-.I uaddr
-which is waiting via
-.BR FUTEX_WAIT (2const)
-or
-.BR FUTEX_WAIT_BITSET (2const).
-.TP
-.B ENOMEM
-The kernel could not allocate memory to hold state information.
-.TP
-.B 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.
-.TP
-.B EPERM
-The caller is not allowed to attach itself to the futex at
-.IR uaddr .
-(This may be caused by a state corruption in user space.)
-.TP
-.B ESRCH
-The thread ID in the futex word at
-.I uaddr
-does not exist.
-.TP
-.B ETIMEDOUT
-The timeout expired before the operation completed.
+.BR FUTEX_LOCK_PI (2const).
.SH STANDARDS
Linux.
.SH HISTORY
+Linux 5.14.
+.\" commit bf22a6976897977b0a3f1aeba6823c959fc4fdae
.SH SEE ALSO
.BR futex (2)