<h2 >The <code>upc_global_lock_alloc</code> function   </h2>
<h4>Synopsis</h4>
<p>

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

<p>
<h4>Description</h4>

<p>
The <code>upc_global_lock_alloc </code>   function dynamically allocates a lock and returns
a pointer to it. The lock is created in an unlocked state.
<p>The <code>upc_global_lock_alloc </code> function is not a <i>collective</i> function.  If called
by multiple threads, all threads which make the call get different allocations.

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