4 <strong>Function
</strong> - Release ownership of a lock.
7 <strong>kern_return_t lock_release
</strong>
8 <strong>(lock_set_t
</strong> <var>lock_set
</var>,
9 <strong>int
</strong> <var>lock_id
</var><strong>);
</strong>
14 <dt> <var>lock_set
</var>
16 [in send right] The port naming the lock set which represents the
19 <dt> <var>lock_id
</var>
21 [in scalar] The lock, represented by the lock set, to be released.
25 The
<strong>lock_release
</strong> function release the ownership of the specified lock.
26 If the calling thread does not own the lock then the call will fail.
27 <h3>RETURN VALUES
</h3>
30 <dt> <strong>KERN_INVALID_ARGUMENT
</strong>
32 The specified lock_set is invalid, or the lock_id is out of range.
34 <dt> <strong>KERN_INVALID_RIGHT
</strong>
36 The specified task does not own the specified lock.
38 <dt> <strong>KERN_SUCCESS
</strong>
40 The ownership of the lock was released.
42 <dt> <strong>KERN_LOCK_SET_DESTROYED
</strong>
44 The specified lock has been destroyed.
46 <h3>RELATED INFORMATION
</h3>
49 <a href=
"lock_acquire.html"><strong>lock_acquire
</strong></a>,
50 <a href=
"lock_make_stable.html"><strong>lock_make_stable
</strong></a>,
51 <a href=
"lock_try.html"><strong>lock_try
</strong></a>,
52 <a href=
"lock_handoff.html"><strong>lock_handoff
</strong></a>,
53 <a href=
"lock_handoff_accept.html"><strong>lock_handoff_accept
</strong></a>,
54 <a href=
"lock_set_create.html"><strong>lock_set_create
</strong></a>,
55 <a href=
"lock_set_destroy.html"><strong>lock_set_destroy
</strong></a>.