futex_lock_pi_atomic
Prev | Chapter 12. Futex API reference | Next

## Name

futex_lock_pi_atomic — Atomic work required to acquire a pi aware futex

## Synopsis

`int futex_lock_pi_atomic (` | u32 __user * uaddr,
| struct futex_hash_bucket * hb,
| union futex_key * key,
| struct futex_pi_state ** ps,
| struct task_struct * task,
| int set_waiters`)`;

## Arguments

`uaddr`

  the pi futex user address

`hb`

  the pi futex hash bucket

`key`

  the futex key associated with uaddr and hb

`ps`

  the pi_state pointer where we store the result of the lookup

`task`

  the task to perform the atomic lock work for. This will be “current” except in the case of requeue pi.

`set_waiters`

  force setting the FUTEX_WAITERS bit (1) or not (0)

## Return

0 - ready to wait; 1 - acquired the lock; <0 - error

The hb->lock and futex_key refs shall be held by the caller.

Prev | Up | Next
futex_top_waiter | Home | __unqueue_futex