]>
Commit | Line | Data |
---|---|---|
9bccf70c | 1 | <h2>lock_handoff_accept</h2>\r<hr>\r<p>\r<strong>Function</strong> - Accept a lock hand-off.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t lock_handoff_accept</strong>\r <strong>(lock_set_t</strong> <var>lock_set</var>,\r <strong>int</strong> <var>lock_id</var><strong>);</strong>\r</pre>\r<h3>PARAMETERS</h3>\r<dl>\r<p>\r<dt> <var>lock_set</var>\r<dd>\r[in send right] The port naming the lock set which represents the\rlock.\r<p>\r<dt> <var>lock_id</var>\r<dd>\r[in scalar] The lock, represented by the lock set, that is the object\rof the handoff operation.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rThe <strong>lock_handoff_accept</strong> function accepts a lock\rhand-off from an anonymous sending thread. If the sending thread is\rnot waiting to hand-off the lock, the calling thread will block until\rthe lock handoff is completed. Only one thread may be waiting to\raccept a lock handoff at any given time.\r<h3>RETURN VALUES</h3>\r<dl>\r<p>\r<dt> <strong>KERN_ALREADY_WAITING</strong>\r<dd>\rAnother thread is already waiting for a hand-off of this lock.\r<p>\r<dt> <strong>KERN_INVALID_ARGUMENT</strong>\r<dd>\rThe specified lock_set is invalid, or the lock_id is out of range.\r<p>\r<dt> <strong>KERN_SUCCESS</strong>\r<dd>\rThe lock hand-off was successful.\r<p>\r<dt> <strong>KERN_LOCK_UNSTABLE</strong>\r<dd>\rThe acquired lock has an unstable state.\r<p>\r<dt> <strong>KERN_LOCK_SET_DESTROYED</strong>\r<dd>\rThe specified lock has been destroyed.\r<p>\r<dt> <strong>KERN_ABORTED</strong>\r<dd>\rWhile blocked to wait for the sending thread to transfer the lock's ownership,\r the calling thread was awoken by an unrelated event;\r the lock's handoff state is cleared.\r</dl>\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="lock_acquire.html"><strong>lock_acquire</strong></a>,\r<a href="lock_release.html"><strong>lock_release</strong></a>,\r<a href="lock_try.html"><strong>lock_try</strong></a>,\r<a href="lock_handoff.html"><strong>lock_handoff</strong></a>.\r |