<html> <head> <title>Methods of Class Mutex</title> <link rel="stylesheet" type="text/css" href="../../../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../../../index.html">Overview</a> </td> <td class="navimain"> <a href="../index.html">Namespace</a> </td> <td class="navimain"> <a href="../c-Mutex.html">Class</a> </td> <td class="navimain"> <a href="../../../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../../../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"></table> <hr> <div class="title"><h2>Methods of Class Mutex</h2> </div><hr> <dl class="member"> <dt class="member"><a name="Mutex-385"> </a>Mutex</dt> <dd class="member"><dl> <dt class="simple"> <strong>Mutex</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Create a thread-local mutex. </dd> <dt>Return</dt> <dd>0 if the mutex could not be created, otherwise a handle to the mutex. </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_createMutex-991">::osl_createMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="~Mutex-386"> </a>~Mutex</dt> <dd class="member"><dl> <dt class="simple"> <strong>~Mutex</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Release the OS-structures and free mutex data-structure. </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_destroyMutex-992">::osl_destroyMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="acquire-387"> </a>acquire</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Bool.html">sal_Bool</a> <strong>acquire</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Acquire the mutex, block if already acquired by another thread. </dd> <dt>Return</dt> <dd>sal_False if system-call fails. </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_acquireMutex-993">::osl_acquireMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="tryToAcquire-388"> </a>tryToAcquire</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Bool.html">sal_Bool</a> <strong>tryToAcquire</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Try to acquire the mutex without blocking. </dd> <dt>Return</dt> <dd>sal_False if it could not be acquired. </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_tryToAcquireMutex-994">::osl_tryToAcquireMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="release-389"> </a>release</dt> <dd class="member"><dl> <dt class="simple"><a href="../../t-sal_Bool.html">sal_Bool</a> <strong>release</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Release the mutex. </dd> <dt>Return</dt> <dd>sal_False if system-call fails. </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_releaseMutex-995">::osl_releaseMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="Mutex-392"> </a>Mutex</dt> <dd class="member"><dl> <dt class="simple"> <strong>Mutex</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="../../osl/c-Mutex.html">Mutex</a> & </td> <td> );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>The underlying oslMutex has no reference count. </dd> <dt>Description</dt> <dd>Since the underlying oslMutex is not a reference counted object, copy constructed Mutex may work on an already destructed oslMutex object. </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="Mutex-393"> </a>Mutex</dt> <dd class="member"><dl> <dt class="simple"> <strong>Mutex</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="../../t-oslMutex.html">oslMutex</a> </td> <td> Mutex );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>The underlying oslMutex has no reference count. </dd> <dt>Description</dt> <dd>When destructed, the Mutex object destroys the undelying oslMutex, which might cause severe problems in case it's a temporary object. </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="operator=-394"> </a>operator=</dt> <dd class="member"><dl> <dt class="simple"><a href="../../osl/c-Mutex.html">Mutex</a> & <strong>operator=</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="../../osl/c-Mutex.html">Mutex</a> & </td> <td> );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>This assignment operator is private for the same reason as the copy constructor. </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="operator=-395"> </a>operator=</dt> <dd class="member"><dl> <dt class="simple"><a href="../../osl/c-Mutex.html">Mutex</a> & <strong>operator=</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="../../t-oslMutex.html">oslMutex</a> </td> <td> );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>This assignment operator is private for the same reason as the constructor taking a oslMutex argument. </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="getGlobalMutex-390"> </a>getGlobalMutex</dt> <dd class="member"><dl> <dt class="simple">static <a href="../../osl/c-Mutex.html">Mutex</a> * <strong>getGlobalMutex</strong>();</dt> <dd><table class="param-table"></table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> <td class="flagyes">YES</td> <td class="flagno">NO</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Description</dt> <dd>Returns a global static mutex object. The global and static mutex object can be used to initialize other static objects in a thread safe manner. </dd> <dt>Return</dt> <dd>the global mutex object </dd> <dt>See Also</dt> <dd><a href="../../o-mutex.h.html#osl_getGlobalMutex-996">::osl_getGlobalMutex()</a> <br> </dd> </dl> </dd> </dl> <hr> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-cppref" --> </body> </html>