<h2 >The <code>upc_unlock</code> function   </h2>

<h4>Synopsis</h4>
<p>

<pre> 
    #include &lt;upc.h&gt;
    void upc_unlock(upc_lock_t *ptr);              
</pre>

<p>
<h4>Description</h4>

<p>
The <code>upc_unlock</code>    function  sets the state of the lock pointed to by <code>ptr</code> to
unlocked.
<p>Unless the lock is in locked state and the calling thread is the locking thread,
the result is undefined.
<p>A null strict access is implied before a call to upc unlock().

<p>&nbsp
<p>&nbsp
<p><a href="terms.html">Terms, definitions, and symbols</a><br>
<p><a href="index.html">Back to index of all UPC functions</a>
