Scroll to navigation

FUTEX_LOCK_PI_ATOMIC(9) Futex API reference FUTEX_LOCK_PI_ATOMIC(9)

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

u32 __user * uaddr

the pi futex user address

struct futex_hash_bucket * hb

the pi futex hash bucket

union futex_key * key

the futex key associated with uaddr and hb

struct futex_pi_state ** ps

the pi_state pointer where we store the result of the lookup

struct task_struct * task

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

int 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.

AUTHOR

Rusty Russell <rusty@rustcorp.com.au>

Author.

COPYRIGHT

June 2017 Kernel Hackers Manual 4.11