| <h2 >The <code>upc_lock_free</code> function </h2> |
| |
| <h4>Synopsis</h4> |
| <p> |
| |
| <pre> |
| #include <upc.h> |
| upc_lock_t *upc_lock_free(upc_lock_t *ptr); |
| </pre> |
| |
| <p> |
| <h4>Description</h4> |
| |
| <p> |
| The <code>upc_lock_free</code> function frees all resources associated with the dynamically |
| allocated <code>upc_lock_t</code> pointed to by <code>ptr</code>. |
| If <code>ptr</code> is a null pointer, no |
| action occurs. |
| Otherwise, if the argument does not match a pointer earlier |
| returned by the <code>upc_global_lock_alloc</code> or |
| <code>upc_all_lock_alloc</code> function, |
| or if the lock has been deallocated by a previous call to <code>upc_lock_free</code>, |
| the behavior is undefined. |
| <p> |
| <code>upc_lock_free</code> succeeds regardless of whether the referenced lock is currently |
| unlocked or currently locked (by any thread). |
| <p>Any subsequent calls to locking functions from any thread using <code>ptr</code> have |
| undefined effects. This also applies to any thread currently calling <code>upc_lock</code>. |
| <p>  |
| <p>  |
| <p><a href="terms.html">Terms, definitions, and symbols</a><br> |
| <p><a href="index.html">Back to index of all UPC functions</a> |