<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>OpenThreads: OpenThreads::Mutex Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">OpenThreads</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00028.html">OpenThreads</a> </li> <li class="navelem"><a class="el" href="a00007.html">Mutex</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">OpenThreads::Mutex Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="OpenThreads::Mutex" --> <p>This class provides an object-oriented thread mutex interface. <a href="a00007.html#details">More...</a></p> <div class="dynheader"> Inheritance diagram for OpenThreads::Mutex:</div> <div class="dyncontent"> <div class="center"><img src="a00036.png" border="0" usemap="#OpenThreads_1_1Mutex_inherit__map" alt="Inheritance graph"/></div> <map name="OpenThreads_1_1Mutex_inherit__map" id="OpenThreads_1_1Mutex_inherit__map"> <area shape="rect" id="node3" href="a00009.html" title="OpenThreads::ReentrantMutex" alt="" coords="5,83,221,112"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a00037.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#ac04fe38c9ebecc2963a8bb541f659e9f">Mutex</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#ac04fe38c9ebecc2963a8bb541f659e9f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a0a2bec354679b993121440456d99eb44">~Mutex</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a0a2bec354679b993121440456d99eb44"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#aac109abb620cbaf66f56570cd9c617fb">lock</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Lock the mutex. <a href="#aac109abb620cbaf66f56570cd9c617fb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a49a455fba411cd9c7aea2f515f8d5600">unlock</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Unlock the mutex. <a href="#a49a455fba411cd9c7aea2f515f8d5600"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#ae946406974d5d297bcea8143ebf5c84f">trylock</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test if mutex can be locked. <a href="#ae946406974d5d297bcea8143ebf5c84f"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a0705c7682858f6dcf7fe85cba92f0a5c">Condition</a></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This class provides an object-oriented thread mutex interface. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac04fe38c9ebecc2963a8bb541f659e9f"></a><!-- doxytag: member="OpenThreads::Mutex::Mutex" ref="ac04fe38c9ebecc2963a8bb541f659e9f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">OpenThreads::Mutex::Mutex </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> </div> </div> <a class="anchor" id="a0a2bec354679b993121440456d99eb44"></a><!-- doxytag: member="OpenThreads::Mutex::~Mutex" ref="a0a2bec354679b993121440456d99eb44" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual OpenThreads::Mutex::~Mutex </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aac109abb620cbaf66f56570cd9c617fb"></a><!-- doxytag: member="OpenThreads::Mutex::lock" ref="aac109abb620cbaf66f56570cd9c617fb" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::Mutex::lock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Lock the mutex. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if normal, -1 if errno set, errno code otherwise. </dd></dl> <p>Reimplemented in <a class="el" href="a00009.html#ab02bc64ed063c4021d4f312595eb193b">OpenThreads::ReentrantMutex</a>.</p> <p>Referenced by <a class="el" href="a00008.html#ada6a1e68519232a338515502d134d005">OpenThreads::ReadWriteMutex::readLock()</a>, and <a class="el" href="a00008.html#af135279e84aeedb319383b4359bf776a">OpenThreads::ReadWriteMutex::writeLock()</a>.</p> </div> </div> <a class="anchor" id="ae946406974d5d297bcea8143ebf5c84f"></a><!-- doxytag: member="OpenThreads::Mutex::trylock" ref="ae946406974d5d297bcea8143ebf5c84f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::Mutex::trylock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Test if mutex can be locked. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if normal, -1 if errno set, errno code otherwise. </dd></dl> <p>Reimplemented in <a class="el" href="a00009.html#aaa8f7f28c222cb3973c5fa41a370ead6">OpenThreads::ReentrantMutex</a>.</p> </div> </div> <a class="anchor" id="a49a455fba411cd9c7aea2f515f8d5600"></a><!-- doxytag: member="OpenThreads::Mutex::unlock" ref="a49a455fba411cd9c7aea2f515f8d5600" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::Mutex::unlock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Unlock the mutex. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if normal, -1 if errno set, errno code otherwise. </dd></dl> <p>Reimplemented in <a class="el" href="a00009.html#a47ce1de709f9d0e49abe58a5248978e9">OpenThreads::ReentrantMutex</a>.</p> <p>Referenced by <a class="el" href="a00008.html#a4fea9ae3130a5bd2a167d25da5aadb9e">OpenThreads::ReadWriteMutex::readUnlock()</a>, and <a class="el" href="a00008.html#a7a820ccd1ed5b6ebaddb5e37daaa266b">OpenThreads::ReadWriteMutex::writeUnlock()</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a0705c7682858f6dcf7fe85cba92f0a5c"></a><!-- doxytag: member="OpenThreads::Mutex::Condition" ref="a0705c7682858f6dcf7fe85cba92f0a5c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="a00006.html">Condition</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>OpenThreads/<a class="el" href="a00022.html">Mutex</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Wed Apr 27 2011 12:36:53 for the <a href="http://www.openscenegraph.org/">OpenThreads</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>