1<h2>semaphore_destroy</h2> 2<hr> 3<p> 4<strong>Function</strong> - Destroy a semaphore. 5<h3>SYNOPSIS</h3> 6<pre> 7<strong>kern_return_t semaphore_destroy</strong> 8 <strong>(task_t</strong> <var>task</var>, 9 <strong>semaphore_t</strong> <var>semaphore</var><strong>);</strong> 10</pre> 11<h3>PARAMETERS</h3> 12<dl> 13<p> 14<dt> <var>task</var> 15<dd> 16[in task port] The task associated with the target semaphore. 17<p> 18<dt> <var>semaphore</var> 19<dd> 20[in send right] The port naming the semaphore to be destroyed. 21</dl> 22<h3>DESCRIPTION</h3> 23<p> 24The <strong>semaphore_destroy</strong> function destroys a semaphore. 25All send rights 26naming the semaphore become dead names. Threads waiting on the 27semaphore become unblocked with the return from the 28<strong>semaphore_wait</strong> 29call indicating that the semaphore was destroyed. A call to 30<strong>semaphore_destroy</strong> succeeds only if the semaphore is associated 31with the specified task. 32<h3>RETURN VALUES</h3> 33<dl> 34<p> 35<dt> <strong>KERN_INVALID_ARGUMENT</strong> 36<dd> 37Either, or both, the task or semaphore arguments were invalid. 38<p> 39<dt> <strong>KERN_INVALID_RIGHT</strong> 40<dd> 41The specified task does not own the specified semaphore. 42<p> 43<dt> <strong>KERN_TERMINATED</strong> 44<dd> 45The specified semaphore was previously destroyed. 46<p> 47<dt> <strong>KERN_SUCCESS</strong> 48<dd> 49The semaphore was destroyed. 50</dl> 51<h3>RELATED INFORMATION</h3> 52<p> 53Functions: 54<a href="semaphore_create.html"><strong>semaphore_create</strong></a>, 55<a href="semaphore_signal.html"><strong>semaphore_signal</strong></a>, 56<a href="semaphore_signal_all.html"><strong>semaphore_signal_all</strong></a>, 57<a href="semaphore_wait.html"><strong>semaphore_wait</strong></a>, 58<a href="device_get_status.html"><strong>device_get_status</strong></a>. 59