English
Kamil Dudka

Share Library (C++)

Detail souboru

Jméno:StáhnoutclassShare_1_1Mutex.html [Stáhnout]
Umístění: sharelib > api
Velikost:9.7 KB
Poslední změna:2022-09-09 13:06

Zdrojový kód

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ShareLibrary: Share::Mutex Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</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="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="namespaceShare.html">Share</a>::<a class="el" href="classShare_1_1Mutex.html">Mutex</a></div>
<h1>Share::Mutex Class Reference<br>
<small>
[<a class="el" href="group__backend.html">Internal library classes</a>]</small>
</h1><!-- doxytag: class="Share::Mutex" -->Platform-independent mutex representation.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="MutexLock_8h-source.html">MutexLock.h</a>&gt;</code>
<p>
<a href="classShare_1_1Mutex-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1Mutex.html#b5d329584e340279ea500b2721eea2ac">Mutex</a> (<a class="el" href="classShare_1_1RelocPtr.html">RelocPtr</a>&lt; char &gt; name)  throw (ShareException)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create mutex.  <a href="#b5d329584e340279ea500b2721eea2ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1Mutex.html#0218144acf603c5801ceba4985086bc2">~Mutex</a> ()  throw ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy mutex.  <a href="#0218144acf603c5801ceba4985086bc2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1Mutex.html#c13268173dc9d8b5685bd8c7d5505040">lock</a> (<a class="el" href="structShare_1_1Mutex_1_1LockData.html">LockData</a> *data)  throw (ShareException)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock mutex.  <a href="#c13268173dc9d8b5685bd8c7d5505040"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1Mutex.html#6cb9e80628d92147b554c9f28dd9836e">unlock</a> (<a class="el" href="structShare_1_1Mutex_1_1LockData.html">LockData</a> *data)  throw (ShareException)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unlock mutex.  <a href="#6cb9e80628d92147b554c9f28dd9836e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structShare_1_1Mutex_1_1LockData.html">LockData</a></td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classShare_1_1Mutex.html" title="Platform-independent mutex representation.">Mutex</a> per-lock specific data.  <a href="structShare_1_1Mutex_1_1LockData.html#_details">More...</a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Platform-independent mutex representation. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Implementation of this class was taken from <b>MSDTk</b>. </dd></dl>
 
<p>
 
<p>
Definition at line <a class="el" href="MutexLock_8h-source.html#l00040">40</a> of file <a class="el" href="MutexLock_8h-source.html">MutexLock.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="b5d329584e340279ea500b2721eea2ac"></a><!-- doxytag: member="Share::Mutex::Mutex" ref="b5d329584e340279ea500b2721eea2ac" args="(RelocPtr&lt; char &gt; name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Share::Mutex::Mutex           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classShare_1_1RelocPtr.html">RelocPtr</a>&lt; char &gt;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Create mutex. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of mutex to create. </td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Parameter name is not used on Linux for now. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classShare_1_1ShareException.html" title="General exception carrying text message inside.">ShareException</a></em>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
</div>
</div><p>
<a class="anchor" name="0218144acf603c5801ceba4985086bc2"></a><!-- doxytag: member="Share::Mutex::~Mutex" ref="0218144acf603c5801ceba4985086bc2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Share::Mutex::~Mutex           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw ()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Destroy mutex. 
<p>
 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c13268173dc9d8b5685bd8c7d5505040"></a><!-- doxytag: member="Share::Mutex::lock" ref="c13268173dc9d8b5685bd8c7d5505040" args="(LockData *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Share::Mutex::lock           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structShare_1_1Mutex_1_1LockData.html">LockData</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Lock mutex. 
<p>
Process will be susspended if mutex is already locked. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to structure containing per-lock specific data. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classShare_1_1ShareException.html" title="General exception carrying text message inside.">ShareException</a></em>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
</div>
</div><p>
<a class="anchor" name="6cb9e80628d92147b554c9f28dd9836e"></a><!-- doxytag: member="Share::Mutex::unlock" ref="6cb9e80628d92147b554c9f28dd9836e" args="(LockData *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Share::Mutex::unlock           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structShare_1_1Mutex_1_1LockData.html">LockData</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Unlock mutex. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to structure containing per-lock specific data. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classShare_1_1ShareException.html" title="General exception carrying text message inside.">ShareException</a></em>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>sharelib/<a class="el" href="MutexLock_8h-source.html">MutexLock.h</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Aug 26 17:43:02 2007 for ShareLibrary by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
</body>
</html>