Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 264

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>GNU CommonC++: ost::PosixThread Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_posix_thread.html">PosixThread</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classost_1_1_posix_thread-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::PosixThread Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="thread_8h_source.html">thread.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::PosixThread:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_posix_thread.png" usemap="#ost::PosixThread_map" alt=""/>
  <map id="ost::PosixThread_map" name="ost::PosixThread_map">
<area href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ..." alt="ost::Thread" shape="rect" coords="0,0,104,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aeeba18c7e3ef9f718b20b7477e602735"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#aeeba18c7e3ef9f718b20b7477e602735">PosixThread</a> (int pri=0, size_t stack=0)</td></tr>
<tr class="separator:aeeba18c7e3ef9f718b20b7477e602735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa168ff1446785a43b1123703d999207"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#afa168ff1446785a43b1123703d999207">signalThread</a> (int signo)</td></tr>
<tr class="memdesc:afa168ff1446785a43b1123703d999207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delivers a Posix signal to the current thread.  <a href="#afa168ff1446785a43b1123703d999207">More...</a><br/></td></tr>
<tr class="separator:afa168ff1446785a43b1123703d999207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a72470c1b00d098e74162284e248c0435">Thread</a> (bool isMain)</td></tr>
<tr class="memdesc:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is actually a special constructor that is used to create a thread "object" for the current execution context when that context is not created via an instance of a derived <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> object itself.  <a href="#a72470c1b00d098e74162284e248c0435">More...</a><br/></td></tr>
<tr class="separator:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a082ea94f104219969a2d75becc749af6">Thread</a> (int pri=0, size_t stack=0)</td></tr>
<tr class="memdesc:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread object is contructed, a new thread of execution context is created.  <a href="#a082ea94f104219969a2d75becc749af6">More...</a><br/></td></tr>
<tr class="separator:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0ba7f4211aabb5a278c546d0fae81f55">Thread</a> (const <a class="el" href="classost_1_1_thread.html">Thread</a> &amp;th)</td></tr>
<tr class="memdesc:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread of execution can also be specified by cloning an existing thread.  <a href="#a0ba7f4211aabb5a278c546d0fae81f55">More...</a><br/></td></tr>
<tr class="separator:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad363397f26006af68fa9315c9bff8589">~Thread</a> ()</td></tr>
<tr class="memdesc:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thread destructor should clear up any resources that have been allocated by the thread.  <a href="#ad363397f26006af68fa9315c9bff8589">More...</a><br/></td></tr>
<tr class="separator:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *start=0)</td></tr>
<tr class="memdesc:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a new thread is created, it does not begin immediate execution.  <a href="#a2ef198d7aefb93cf9de4fcc6b66c27a2">More...</a><br/></td></tr>
<tr class="separator:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ac30778f0fffd9dd952fd73cb541cc70b">detach</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *<a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a>=0)</td></tr>
<tr class="memdesc:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a new thread as "detached".  <a href="#ac30778f0fffd9dd952fd73cb541cc70b">More...</a><br/></td></tr>
<tr class="separator:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24">getParent</a> (void)</td></tr>
<tr class="memdesc:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the pointer to the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> class which created the current thread object.  <a href="#aac5bc230c3bad5c837baa9e6d01f4c24">More...</a><br/></td></tr>
<tr class="separator:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5f1b650c1f3b71e458adfbd86b3acb83">suspend</a> (void)</td></tr>
<tr class="memdesc:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends execution of the selected thread.  <a href="#a5f1b650c1f3b71e458adfbd86b3acb83">More...</a><br/></td></tr>
<tr class="separator:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0861f734ad77b1ba517fce302215e41e">resume</a> (void)</td></tr>
<tr class="memdesc:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resumes execution of the selected thread.  <a href="#a0861f734ad77b1ba517fce302215e41e">More...</a><br/></td></tr>
<tr class="separator:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3524521d80bcc0562fb59a28ce5d62a4">getCancel</a> (void)</td></tr>
<tr class="memdesc:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the cancellation mode in effect for the selected thread.  <a href="#a3524521d80bcc0562fb59a28ce5d62a4">More...</a><br/></td></tr>
<tr class="separator:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aa04a06a086dffad7ffc67dba4ea431ab">isRunning</a> (void) const </td></tr>
<tr class="memdesc:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if the thread is still running or has already been terminated but not yet deleted.  <a href="#aa04a06a086dffad7ffc67dba4ea431ab">More...</a><br/></td></tr>
<tr class="separator:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1bbbe1d6bc6dea6bea48cdabe2c7da20">isDetached</a> (void) const </td></tr>
<tr class="memdesc:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if this thread is detached.  <a href="#a1bbbe1d6bc6dea6bea48cdabe2c7da20">More...</a><br/></td></tr>
<tr class="separator:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1e6d355ea0d9b0b023f3fc2aa91a25e8">join</a> (void)</td></tr>
<tr class="memdesc:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking call which unlocks when thread terminates.  <a href="#a1e6d355ea0d9b0b023f3fc2aa91a25e8">More...</a><br/></td></tr>
<tr class="separator:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a69ae124edf7e7989db0f911b847cacae">isThread</a> (void) const </td></tr>
<tr class="memdesc:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests to see if the current execution context is the same as the specified thread object.  <a href="#a69ae124edf7e7989db0f911b847cacae">More...</a><br/></td></tr>
<tr class="separator:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#a3f0d0226a694bf1e508e1b1c758e6ae6">cctid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3947a150139cf226626f47166ff92286">getId</a> (void) const </td></tr>
<tr class="memdesc:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get system thread numeric identifier.  <a href="#a3947a150139cf226626f47166ff92286">More...</a><br/></td></tr>
<tr class="separator:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6b578a4a82d61060d1b17109caddc1a5">getName</a> (void) const </td></tr>
<tr class="memdesc:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name string for this thread, to use in debug messages.  <a href="#a6b578a4a82d61060d1b17109caddc1a5">More...</a><br/></td></tr>
<tr class="separator:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a67e582aabcd65431a38ecc8cbf0af350"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a67e582aabcd65431a38ecc8cbf0af350">sigInstall</a> (int signo)</td></tr>
<tr class="memdesc:a67e582aabcd65431a38ecc8cbf0af350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Install a signal handler for use by threads and the OnSignal() event notification handler.  <a href="#a67e582aabcd65431a38ecc8cbf0af350">More...</a><br/></td></tr>
<tr class="separator:a67e582aabcd65431a38ecc8cbf0af350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aaad41a9f7962bdc3058a429df48246fd">get</a> (void)</td></tr>
<tr class="separator:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#accd29b724539d63a8495d954f9f56c72">setStack</a> (size_t size=0)</td></tr>
<tr class="memdesc:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set base stack limit before manual stack sizes have effect.  <a href="#accd29b724539d63a8495d954f9f56c72">More...</a><br/></td></tr>
<tr class="separator:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a663d960e8599194f3b25169915c22fb6">sleep</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> msec)</td></tr>
<tr class="memdesc:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread-safe sleep call.  <a href="#a663d960e8599194f3b25169915c22fb6">More...</a><br/></td></tr>
<tr class="separator:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3f4a4f9872ed8f80a591e6b020ecf5d7">yield</a> (void)</td></tr>
<tr class="memdesc:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yields the current thread's CPU time slice to allow another thread to begin immediate execution.  <a href="#a3f4a4f9872ed8f80a591e6b020ecf5d7">More...</a><br/></td></tr>
<tr class="separator:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0272b6a8de586ee5ee2464bbdb030392">getException</a> (void)</td></tr>
<tr class="memdesc:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get exception mode of the current thread.  <a href="#a0272b6a8de586ee5ee2464bbdb030392">More...</a><br/></td></tr>
<tr class="separator:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae9f30b27ca1322ccc3325ba9ca5157fa">setException</a> (<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> mode)</td></tr>
<tr class="memdesc:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set exception mode of the current thread.  <a href="#ae9f30b27ca1322ccc3325ba9ca5157fa">More...</a><br/></td></tr>
<tr class="separator:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a599880181a0aeaef8a0ddedeeceddb9a">enterCancel</a> (void)</td></tr>
<tr class="memdesc:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to help build wrapper functions in libraries around system calls that should behave as cancellation points but don't.  <a href="#a599880181a0aeaef8a0ddedeeceddb9a">More...</a><br/></td></tr>
<tr class="separator:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#abcad222419e4106ac21ce12605eb4fe7">exitCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> cancel)</td></tr>
<tr class="memdesc:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to restore a cancel block.  <a href="#abcad222419e4106ac21ce12605eb4fe7">More...</a><br/></td></tr>
<tr class="separator:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a1698de2b943084fe05849cbd42099156"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a1698de2b943084fe05849cbd42099156">signalParent</a> (<a class="el" href="namespaceost.html#a5dca865b107f598c88bd2106ea56c16e">signo_t</a> signo)</td></tr>
<tr class="memdesc:a1698de2b943084fe05849cbd42099156"><td class="mdescLeft">&#160;</td><td class="mdescRight">In the Posix version of Common C++, this can be used to send a signal into the parent thread of the current object.  <a href="#a1698de2b943084fe05849cbd42099156">More...</a><br/></td></tr>
<tr class="separator:a1698de2b943084fe05849cbd42099156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13ab707409d229be9c5b64a0e2ec7ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#ad13ab707409d229be9c5b64a0e2ec7ad">signalMain</a> (<a class="el" href="namespaceost.html#a5dca865b107f598c88bd2106ea56c16e">signo_t</a> signo)</td></tr>
<tr class="memdesc:ad13ab707409d229be9c5b64a0e2ec7ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">In the Posix version of Common C++, this can be used to send a signal into the main application thread.  <a href="#ad13ab707409d229be9c5b64a0e2ec7ad">More...</a><br/></td></tr>
<tr class="separator:ad13ab707409d229be9c5b64a0e2ec7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ce41764e5846b94195d367a0c7c7e4e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a9ce41764e5846b94195d367a0c7c7e4e">onTimer</a> (void)</td></tr>
<tr class="memdesc:a9ce41764e5846b94195d367a0c7c7e4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derivable method to call when a SIGALRM is being delivered to a specific thread.  <a href="#a9ce41764e5846b94195d367a0c7c7e4e">More...</a><br/></td></tr>
<tr class="separator:a9ce41764e5846b94195d367a0c7c7e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb12beb826e7895f54a5af9e6c38434"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#acfb12beb826e7895f54a5af9e6c38434">onHangup</a> (void)</td></tr>
<tr class="memdesc:acfb12beb826e7895f54a5af9e6c38434"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derived method to handle hangup events being delivered to a specific thread.  <a href="#acfb12beb826e7895f54a5af9e6c38434">More...</a><br/></td></tr>
<tr class="separator:acfb12beb826e7895f54a5af9e6c38434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1aa6d0e6baa04c37e1a61b641414e7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#adb1aa6d0e6baa04c37e1a61b641414e7">onException</a> (void)</td></tr>
<tr class="memdesc:adb1aa6d0e6baa04c37e1a61b641414e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derived method to call when a SIGABRT is being delivered to a specific thread.  <a href="#adb1aa6d0e6baa04c37e1a61b641414e7">More...</a><br/></td></tr>
<tr class="separator:adb1aa6d0e6baa04c37e1a61b641414e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105a9f61fcdf62acd3d5563f5d9e3905"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a105a9f61fcdf62acd3d5563f5d9e3905">onDisconnect</a> (void)</td></tr>
<tr class="memdesc:a105a9f61fcdf62acd3d5563f5d9e3905"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derived method to call when a SIGPIPE is being delivered to a specific thread.  <a href="#a105a9f61fcdf62acd3d5563f5d9e3905">More...</a><br/></td></tr>
<tr class="separator:a105a9f61fcdf62acd3d5563f5d9e3905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e2788cfba0b31813d4cab891f7e1feb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a6e2788cfba0b31813d4cab891f7e1feb">onPolling</a> (void)</td></tr>
<tr class="memdesc:a6e2788cfba0b31813d4cab891f7e1feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derived method to handle asynchronous I/O requests delivered to the specified thread.  <a href="#a6e2788cfba0b31813d4cab891f7e1feb">More...</a><br/></td></tr>
<tr class="separator:a6e2788cfba0b31813d4cab891f7e1feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3db7c01850d939ca1bb0fdc67aeb3efa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a3db7c01850d939ca1bb0fdc67aeb3efa">onSignal</a> (int)</td></tr>
<tr class="memdesc:a3db7c01850d939ca1bb0fdc67aeb3efa"><td class="mdescLeft">&#160;</td><td class="mdescRight">A derivable method to call for delivering a signal event to a specified thread.  <a href="#a3db7c01850d939ca1bb0fdc67aeb3efa">More...</a><br/></td></tr>
<tr class="separator:a3db7c01850d939ca1bb0fdc67aeb3efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c8ffa69fec8c3a139fe3d7068667a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#ad9c8ffa69fec8c3a139fe3d7068667a0">setTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer, bool periodic=false)</td></tr>
<tr class="memdesc:ad9c8ffa69fec8c3a139fe3d7068667a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to specify a timeout event that can be delivered to the current thread via SIGALRM.  <a href="#ad9c8ffa69fec8c3a139fe3d7068667a0">More...</a><br/></td></tr>
<tr class="separator:ad9c8ffa69fec8c3a139fe3d7068667a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79beb0fde40ee5073fe6468de94eef05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#a79beb0fde40ee5073fe6468de94eef05">getTimer</a> (void) const </td></tr>
<tr class="memdesc:a79beb0fde40ee5073fe6468de94eef05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the time remaining for the current threads timer before it expires.  <a href="#a79beb0fde40ee5073fe6468de94eef05">More...</a><br/></td></tr>
<tr class="separator:a79beb0fde40ee5073fe6468de94eef05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed0f4cae60e5694960260d13664c1367"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#aed0f4cae60e5694960260d13664c1367">endTimer</a> (void)</td></tr>
<tr class="memdesc:aed0f4cae60e5694960260d13664c1367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the timer before the timeout period has expired.  <a href="#aed0f4cae60e5694960260d13664c1367">More...</a><br/></td></tr>
<tr class="separator:aed0f4cae60e5694960260d13664c1367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab665136ffddf808ab652c51f9caa953c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#ab665136ffddf808ab652c51f9caa953c">setSignal</a> (int signo, bool active)</td></tr>
<tr class="memdesc:ab665136ffddf808ab652c51f9caa953c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to enable or disable a signal within the current thread.  <a href="#ab665136ffddf808ab652c51f9caa953c">More...</a><br/></td></tr>
<tr class="separator:ab665136ffddf808ab652c51f9caa953c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7b26aaccd916f0905a30707d7ef4067"><td class="memItemLeft" align="right" valign="top">pthread_attr_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#ae7b26aaccd916f0905a30707d7ef4067">getPthreadAttrPtr</a> (void)</td></tr>
<tr class="memdesc:ae7b26aaccd916f0905a30707d7ef4067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to pthread_attr structure this allows setting/modifying pthread attributes not covered in the platform independant <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> constructor, e.g.  <a href="#ae7b26aaccd916f0905a30707d7ef4067">More...</a><br/></td></tr>
<tr class="separator:ae7b26aaccd916f0905a30707d7ef4067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af114ce4574592143ef016dd9cd2bd11d"><td class="memItemLeft" align="right" valign="top">pthread_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#af114ce4574592143ef016dd9cd2bd11d">getPthreadId</a> (void)</td></tr>
<tr class="memdesc:af114ce4574592143ef016dd9cd2bd11d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pthread_t of underlying posix thread (useful for debugging/logging)  <a href="#af114ce4574592143ef016dd9cd2bd11d">More...</a><br/></td></tr>
<tr class="separator:af114ce4574592143ef016dd9cd2bd11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab6f72653183c4db0dfd6b254ddbf072e">setName</a> (const char *text)</td></tr>
<tr class="memdesc:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of the current thread.  <a href="#ab6f72653183c4db0dfd6b254ddbf072e">More...</a><br/></td></tr>
<tr class="separator:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74">run</a> (void)=0</td></tr>
<tr class="memdesc:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">All threads execute by deriving the Run method of <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a>.  <a href="#add7d339d94b8a1ed2b2b0324a95b7e74">More...</a><br/></td></tr>
<tr class="separator:add7d339d94b8a1ed2b2b0324a95b7e74 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6fb521eb3d23c51925472a3fe0abf327">final</a> (void)</td></tr>
<tr class="memdesc:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread that is self terminating, either by invoking <a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994" title="Used to properly exit from a Thread derived run() or initial() method. ">exit()</a> or leaving it's <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a>, will have this method called.  <a href="#a6fb521eb3d23c51925472a3fe0abf327">More...</a><br/></td></tr>
<tr class="separator:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f">initial</a> (void)</td></tr>
<tr class="memdesc:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">The initial method is called by a newly created thread when it starts execution.  <a href="#a300c229e76725eeddc69867f7ecea91f">More...</a><br/></td></tr>
<tr class="separator:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab73c94e3ca46cb24f4246e71fff73026">getExtended</a> (void)</td></tr>
<tr class="memdesc:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Since <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a> only refer to an object of the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> "base" type, this virtual method can be replaced in a derived class with something that returns data specific to the derived class that can still be accessed through the pointer returned by <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a>.  <a href="#ab73c94e3ca46cb24f4246e71fff73026">More...</a><br/></td></tr>
<tr class="separator:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a390827ad98d3402dd84ee9f128bcd564">notify</a> (<a class="el" href="classost_1_1_thread.html">Thread</a> *)</td></tr>
<tr class="memdesc:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread terminates, it now sends a notification message to the parent thread which created it.  <a href="#a390827ad98d3402dd84ee9f128bcd564">More...</a><br/></td></tr>
<tr class="separator:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994">exit</a> (void)</td></tr>
<tr class="memdesc:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to properly exit from a <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> derived <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a> or <a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f" title="The initial method is called by a newly created thread when it starts execution. ">initial()</a> method.  <a href="#acd315d7c877b346970680d739da3e994">More...</a><br/></td></tr>
<tr class="separator:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1cda4748073c4d55e2d0504e7c9b09cc">sync</a> (void)</td></tr>
<tr class="memdesc:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to wait for a join or cancel, in place of explicit exit.  <a href="#a1cda4748073c4d55e2d0504e7c9b09cc">More...</a><br/></td></tr>
<tr class="separator:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#af8afe7a3330b69dff685415aae14657c">testCancel</a> (void)</td></tr>
<tr class="memdesc:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">test a cancellation point for deferred thread cancellation.  <a href="#af8afe7a3330b69dff685415aae14657c">More...</a><br/></td></tr>
<tr class="separator:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a4bff373a83b90f6f44d1519ef893e35b">setCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> mode)</td></tr>
<tr class="memdesc:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets thread cancellation mode.  <a href="#a4bff373a83b90f6f44d1519ef893e35b">More...</a><br/></td></tr>
<tr class="separator:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad226f8bca85bf68ce71d90baca6434d6">setSuspend</a> (<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> mode)</td></tr>
<tr class="memdesc:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the thread's ability to be suspended from execution.  <a href="#ad226f8bca85bf68ce71d90baca6434d6">More...</a><br/></td></tr>
<tr class="separator:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae71c94c24733ed82f9b74c034744d002">terminate</a> (void)</td></tr>
<tr class="memdesc:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by another thread to terminate the current thread.  <a href="#ae71c94c24733ed82f9b74c034744d002">More...</a><br/></td></tr>
<tr class="separator:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5e574c2c5f388277527c9257524dd654">clrParent</a> (void)</td></tr>
<tr class="memdesc:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear parent thread relationship.  <a href="#a5e574c2c5f388277527c9257524dd654">More...</a><br/></td></tr>
<tr class="separator:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ae3c1cdb20d70b22a5c0bf395614eefff"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#ae3c1cdb20d70b22a5c0bf395614eefff">ThreadImpl</a></td></tr>
<tr class="separator:ae3c1cdb20d70b22a5c0bf395614eefff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc148eaddd341d7ae4d07c9e9e33bfd"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_posix_thread.html#adbc148eaddd341d7ae4d07c9e9e33bfd">Thread</a></td></tr>
<tr class="separator:adbc148eaddd341d7ae4d07c9e9e33bfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> { <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da1b058025329425c90f383d124ee605e5">throwNothing</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674daea5957cd08cfecf17f366352bcf9ad80">throwObject</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da8e51a6870e65238764becffff92d7f54">throwException</a>
 }</td></tr>
<tr class="memdesc:ab9538e839c06104af2974b77d2a5674d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">More...</a><br/></td></tr>
<tr class="separator:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69babbf14157c17311ec31f0967032ecb357">cancelInitial</a> =0, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bab02b8cd8d899a693e8cbb86082f4ef16">cancelDeferred</a> =1, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69ba57f820ea4f7a326c27cc504a213e167d">cancelImmediate</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bae07cc9f6d3d7333c8cce543a8bb58215">cancelDisabled</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69baa194b63cafc5387684afe7943fe3b5f0">cancelManual</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69badf753e6d700f194c1b8f695a9bd67554">cancelDefault</a> =cancelDeferred
<br/>
 }</td></tr>
<tr class="memdesc:a24f333b09607b7c48a97e05865ada69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">More...</a><br/></td></tr>
<tr class="separator:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> { <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a27f2f61f4bc18b64e9c25f73bb008a38">suspendEnable</a>, 
<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a0e9f14f0e69d8c12c36a46d108a5074b">suspendDisable</a>
 }</td></tr>
<tr class="memdesc:aff7bd364ce645eac95affbf74f1a7087"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">More...</a><br/></td></tr>
<tr class="separator:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">ost::Thread::Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a511f08b9f1aef08b4f02e2ad225960ab">Throw</a></td></tr>
<tr class="memdesc:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="#a511f08b9f1aef08b4f02e2ad225960ab">More...</a><br/></td></tr>
<tr class="separator:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">ost::Thread::Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0d876c60edcf92d3d96121aacea441d0">Cancel</a></td></tr>
<tr class="memdesc:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="#a0d876c60edcf92d3d96121aacea441d0">More...</a><br/></td></tr>
<tr class="separator:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">ost::Thread::Suspend</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a81069ba4a0bf16a0aa9f076aa725f0c1">Suspend</a></td></tr>
<tr class="memdesc:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="#a81069ba4a0bf16a0aa9f076aa725f0c1">More...</a><br/></td></tr>
<tr class="separator:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aeeba18c7e3ef9f718b20b7477e602735"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::PosixThread::PosixThread </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aed0f4cae60e5694960260d13664c1367"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::endTimer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Terminates the timer before the timeout period has expired. </p>
<p>This prevents the timer from sending it's SIGALRM and makes the timer available to other threads. </p>

</div>
</div>
<a class="anchor" id="ae7b26aaccd916f0905a30707d7ef4067"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pthread_attr_t* ost::PosixThread::getPthreadAttrPtr </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Access to pthread_attr structure this allows setting/modifying pthread attributes not covered in the platform independant <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> constructor, e.g. </p>
<p>contention scope or scheduling policy </p>

</div>
</div>
<a class="anchor" id="af114ce4574592143ef016dd9cd2bd11d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pthread_t ost::PosixThread::getPthreadId </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get pthread_t of underlying posix thread (useful for debugging/logging) </p>

</div>
</div>
<a class="anchor" id="a79beb0fde40ee5073fe6468de94eef05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> ost::PosixThread::getTimer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the time remaining for the current threads timer before it expires. </p>
<dl class="section return"><dt>Returns</dt><dd>time remaining before timer expires in milliseconds. </dd></dl>

</div>
</div>
<a class="anchor" id="a105a9f61fcdf62acd3d5563f5d9e3905"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onDisconnect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derived method to call when a SIGPIPE is being delivered to a specific thread. </p>

</div>
</div>
<a class="anchor" id="adb1aa6d0e6baa04c37e1a61b641414e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onException </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derived method to call when a SIGABRT is being delivered to a specific thread. </p>

</div>
</div>
<a class="anchor" id="acfb12beb826e7895f54a5af9e6c38434"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onHangup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derived method to handle hangup events being delivered to a specific thread. </p>

</div>
</div>
<a class="anchor" id="a6e2788cfba0b31813d4cab891f7e1feb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onPolling </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derived method to handle asynchronous I/O requests delivered to the specified thread. </p>

</div>
</div>
<a class="anchor" id="a3db7c01850d939ca1bb0fdc67aeb3efa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onSignal </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derivable method to call for delivering a signal event to a specified thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">-</td><td>posix signal id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ce41764e5846b94195d367a0c7c7e4e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::PosixThread::onTimer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A derivable method to call when a SIGALRM is being delivered to a specific thread. </p>

</div>
</div>
<a class="anchor" id="ab665136ffddf808ab652c51f9caa953c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::setSignal </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>signo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>active</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to enable or disable a signal within the current thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">signo</td><td>posix signal id. </td></tr>
    <tr><td class="paramname">active</td><td>set to true to enable. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad9c8ffa69fec8c3a139fe3d7068667a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::setTimer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>periodic</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to specify a timeout event that can be delivered to the current thread via SIGALRM. </p>
<p>When the timer expires, the <a class="el" href="classost_1_1_posix_thread.html#a9ce41764e5846b94195d367a0c7c7e4e" title="A derivable method to call when a SIGALRM is being delivered to a specific thread. ">onTimer()</a> method is called for the thread. At present, only one thread timer can be active at any given time. On some operating systems (including Linux) a timer can be active on each thread.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>timeout in milliseconds. </td></tr>
    <tr><td class="paramname">periodic</td><td>should the timer be periodic. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>currently, periodic timers are only available on systems with a working setitimer call. </dd></dl>

</div>
</div>
<a class="anchor" id="a67e582aabcd65431a38ecc8cbf0af350"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ost::PosixThread::sigInstall </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>signo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Install a signal handler for use by threads and the OnSignal() event notification handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">signo</td><td>posix signal id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad13ab707409d229be9c5b64a0e2ec7ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::signalMain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a5dca865b107f598c88bd2106ea56c16e">signo_t</a>&#160;</td>
          <td class="paramname"><em>signo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>In the Posix version of Common C++, this can be used to send a signal into the main application thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">signo</td><td>a posix signal id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1698de2b943084fe05849cbd42099156"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::signalParent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a5dca865b107f598c88bd2106ea56c16e">signo_t</a>&#160;</td>
          <td class="paramname"><em>signo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>In the Posix version of Common C++, this can be used to send a signal into the parent thread of the current object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">signo</td><td>a posix signal id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afa168ff1446785a43b1123703d999207"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::PosixThread::signalThread </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>signo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delivers a Posix signal to the current thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">signo</td><td>a posix signal id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="adbc148eaddd341d7ae4d07c9e9e33bfd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_thread.html">Thread</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae3c1cdb20d70b22a5c0bf395614eefff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class ThreadImpl</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="thread_8h_source.html">thread.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:58 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>