<h2>The <code>upc_lock_t</code> type</h2>

<h4>Synopsis</h4>
<p>The type declared is
<pre>   
    upc_lock_t               
</pre>
<p>
<h4>Description</h4>
<p>
The type <code>upc_lock_t </code>  is an opaque UPC type. <code>upc_lock_t </code> is a shared
datatype with incomplete type (as defined in [ISO/IEC00 Sec 6.2.5]). 
Objects
of type <code>upc_lock_t </code> may therefore only be manipulated through pointers.
Such objects have two states called locked and unlocked.
<p>Two pointers to that reference the same lock object will compare as equal.
The results of applying upc_phaseof(), upc_threadof(), and upc_addrfield()
to such pointers are undefined.


<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>
