lock_handoff
Function - Hand-off ownership of a lock.
SYNOPSIS
kern_return_t lock_handoff
(lock_set_t lock_set,
int lock_id);
PARAMETERS
- lock_set
-
[in send right] The port naming the lock set which represents the
lock.
- lock_id
-
[in scalar] The lock, represented by the lock set, to be handed off.
DESCRIPTION
The lock_handoff function passes lock ownership from the calling
thread to an anonymous accepting thread. The lock must be owned by the
calling thread. If the accepting thread is not waiting to receive the
lock, the calling thread will block until the hand-off is accepted.
RETURN VALUES
- KERN_INVALID_ARGUMENT
-
The specified lock_set is invalid, or the lock_id is out of range.
- KERN_INVALID_RIGHT
-
The calling thread does not own the lock being handed off.
- KERN_SUCCESS
-
The lock hand-off was successful.
- KERN_LOCK_SET_DESTROYED
-
The specified lock has been destroyed.
- KERN_ABORTED
-
While blocked to wait for the accepting thread to assume the lock's ownership,
the calling thread was awoken by an unrelated event;
the lock's handoff state is cleared.
RELATED INFORMATION
Functions:
lock_acquire,
lock_release,
lock_try,
lock_handoff_accept,
lock_make_stable,
lock_set_create,
lock_set_destroy.