Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 68d373e54fb21da3730c08bede406633 > files > 866

libCommonC++1.9_3-devel-1.9.4-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>thread.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Thu Oct 4 15:32:59 2001 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>thread.h File Reference</h1>
<p>
<a href="thread_h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_atomiccounter.html">AtomicCounter</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The AtomicCounter class offers thread-safe manipulation of an integer counter. atomic counter operation.</em> <a href="class_atomiccounter.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_buffer.html">Buffer</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The buffer class represents an IPC service that is built upon a buffer of fixed capacity that can be used to transfer objects between one or more producer and consumer threads. Producer/Consumer buffer for use between threads.</em> <a href="class_buffer.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_conditional.html">Conditional</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>A conditional variable sychcronization object for one to one and one to many signal and control events between processes. conditional.</em> <a href="class_conditional.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_event.html">Event</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The Event class implements a feature originally found in the WIN32 API; event notification. <a class="el" href="class_thread.html">Thread</a> synchornization on event notification.</em> <a href="class_event.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_fixedbuffer.html">FixedBuffer</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects.</em> <a href="class_fixedbuffer.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_mutex.html">Mutex</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The Mutex class is used to protect a section of code so that at any given time only a single thread can perform the protected operation. Mutex lock for protected access.</em> <a href="class_mutex.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_mutexcounter.html">MutexCounter</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The <a class="el" href="class_mutex.html">Mutex</a> Counter is a counter variable which can safely be incremented or decremented by multiple threads. <a class="el" href="class_thread.html">Thread</a> protected integer counter.</em> <a href="class_mutexcounter.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_poller.html">Poller</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The poller class is used to help manage pollfd structs for use in the updated serial and socket "port" code. pollfd assistance class for port classes.</em> <a href="class_poller.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_semaphore.html">Semaphore</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>A semaphore is generally used as a synchronization object between multiple threads or to protect a limited and finite resource such as a memory or thread pool. Semaphore counter for thread synchronization.</em> <a href="class_semaphore.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_thread.html">Thread</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Every thread of execution in an application is created by deriving a unique class from the Thread class and by implementing the Run method. base class used to derive all threads of execution.</em> <a href="class_thread.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_threadkey.html">ThreadKey</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This class allows the creation of a thread context unique "pointer" that can be set and retrieved and can be used to create thread specific data areas for implementing "thread safe" library routines. container for thread specific data storage.</em> <a href="class_threadkey.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_threadlock.html">ThreadLock</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The ThreadLock class impliments a thread rwlock for optimal reader performance on systems which have rwlock support, and reverts to a simple mutex for those that do not. Posix rwlock extension for protected access.</em> <a href="class_threadlock.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="class_timerport.html">TimerPort</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Timer ports are used to provide synchronized timing events when managed under a "service thread" such as <a class="el" href="class_socketservice.html">SocketService</a>. synchronized millisecond timing for service threads.</em> <a href="class_timerport.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef pthread_t&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a0">cctid_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef unsigned long&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a1">timeout_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a2">signo_t</a></td></tr>
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a41">throw_t</a> { <a class="el" href="thread_h.html#a41a3">THROW_NOTHING</a>, 
<a class="el" href="thread_h.html#a41a4">THROW_OBJECT</a>, 
<a class="el" href="thread_h.html#a41a5">THROW_EXCEPTION</a>
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a42">thread_cancel_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="thread_h.html#a42a6">THREAD_CANCEL_INITIAL</a> = 0, 
<a class="el" href="thread_h.html#a42a7">THREAD_CANCEL_DEFERRED</a> = 1, 
<a class="el" href="thread_h.html#a42a8">THREAD_CANCEL_IMMEDIATE</a>, 
<a class="el" href="thread_h.html#a42a9">THREAD_CANCEL_DISABLED</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="thread_h.html#a42a10">THREAD_CANCEL_DEFAULT</a> = THREAD_CANCEL_DEFERRED, 
<a class="el" href="thread_h.html#a42a11">THREAD_CANCEL_INVALID</a>
<br>
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a43">thread_suspend_t</a> { <a class="el" href="thread_h.html#a43a12">THREAD_SUSPEND_ENABLE</a>, 
<a class="el" href="thread_h.html#a43a13">THREAD_SUSPEND_DISABLE</a>
 }</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_thread.html">Thread</a>*&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a14">getThread</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a15">execHandler</a> (<a class="el" href="class_thread.html">Thread</a> *th)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a16">sigHandler</a> (int signo)</td></tr>
<tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a17">getKey</a> (<a class="el" href="class_threadkey.html">ThreadKey</a> &amp;tk)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a18">setKey</a> (<a class="el" href="class_threadkey.html">ThreadKey</a> &amp;tk, void *ptr)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a19">operator++</a> (<a class="el" href="class_mutex.html">Mutex</a> &amp;m)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a20">operator--</a> (<a class="el" href="class_mutex.html">Mutex</a> &amp;m)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a21">operator++</a> (<a class="el" href="class_semaphore.html">Semaphore</a> &amp;s)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a22">operator--</a> (<a class="el" href="class_semaphore.html">Semaphore</a> &amp;s)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a23">operator++</a> (<a class="el" href="class_event.html">Event</a> &amp;s)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a24">operator--</a> (<a class="el" href="class_event.html">Event</a> &amp;s)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a25">signal</a> (<a class="el" href="class_thread.html">Thread</a> &amp;th, int signo)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a26">signal</a> (<a class="el" href="class_event.html">Event</a> &amp;ev)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a27">signal</a> (<a class="el" href="class_semaphore.html">Semaphore</a> &amp;sem)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a28">wait</a> (<a class="el" href="class_semaphore.html">Semaphore</a> &amp;sem)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a29">wait</a> (<a class="el" href="class_event.html">Event</a> &amp;ev, <a class="el" href="thread_h.html#a1">timeout_t</a> timer)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a30">reset</a> (<a class="el" href="class_event.html">Event</a> &amp;ev)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a31">get</a> (<a class="el" href="class_buffer.html">Buffer</a> &amp;b, void *o)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a32">put</a> (<a class="el" href="class_buffer.html">Buffer</a> &amp;b, void *o)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a33">peek</a> (<a class="el" href="class_buffer.html">Buffer</a> &amp;b, void *o)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a34">operator++</a> (<a class="el" href="class_mutexcounter.html">MutexCounter</a> &amp;mc)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a35">operator--</a> (<a class="el" href="class_mutexcounter.html">MutexCounter</a> &amp;mc)</td></tr>
<tr><td nowrap align=right valign=top>struct timespec*&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a36">gettimeout</a> (struct timespec *spec, <a class="el" href="thread_h.html#a1">timeout_t</a> timeout)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a37">ccxx_sleep</a> (<a class="el" href="thread_h.html#a1">timeout_t</a> msec)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a38">ccxx_yield</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a39">wait</a> (<a class="el" href="thread_h.html#a2">signo_t</a> signo)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="thread_h.html#a40">pdetach</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This function provides a simple and portable means to fork/detach a process into a daemon. This function provides a simple and portable means to fork/detach a process into a daemon.</em> <a href="#a40">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a0" doxytag="thread.h::cctid_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef pthread_t cctid_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="thread.h::signo_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef int signo_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="thread.h::timeout_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
typedef unsigned long timeout_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Enumeration Type Documentation</h2>
<a name="a42" doxytag="thread.h::thread_cancel_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum thread_cancel_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="a42a6" doxytag="THREAD_CANCEL_INITIAL"></a><em>THREAD_CANCEL_INITIAL</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a42a7" doxytag="THREAD_CANCEL_DEFERRED"></a><em>THREAD_CANCEL_DEFERRED</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a42a8" doxytag="THREAD_CANCEL_IMMEDIATE"></a><em>THREAD_CANCEL_IMMEDIATE</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a42a9" doxytag="THREAD_CANCEL_DISABLED"></a><em>THREAD_CANCEL_DISABLED</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a42a10" doxytag="THREAD_CANCEL_DEFAULT"></a><em>THREAD_CANCEL_DEFAULT</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a42a11" doxytag="THREAD_CANCEL_INVALID"></a><em>THREAD_CANCEL_INVALID</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a name="a43" doxytag="thread.h::thread_suspend_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum thread_suspend_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="a43a12" doxytag="THREAD_SUSPEND_ENABLE"></a><em>THREAD_SUSPEND_ENABLE</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a43a13" doxytag="THREAD_SUSPEND_DISABLE"></a><em>THREAD_SUSPEND_DISABLE</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a name="a41" doxytag="thread.h::throw_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
enum throw_t
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="a41a3" doxytag="THROW_NOTHING"></a><em>THROW_NOTHING</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a41a4" doxytag="THROW_OBJECT"></a><em>THROW_OBJECT</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="a41a5" doxytag="THROW_EXCEPTION"></a><em>THROW_EXCEPTION</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a37" doxytag="thread.h::ccxx_sleep"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void ccxx_sleep (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="thread_h.html#a1">timeout_t</a> <em>msec</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This is mapped into sleep().<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>msec</em>
&nbsp;</td><td>
 timeout in millisecond time range. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="thread.h::ccxx_yield"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void ccxx_yield (
          </b></td>
          <td valign="bottom"><b>
void&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a15" doxytag="thread.h::execHandler"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void execHandler (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_thread.html">Thread</a> * <em>th</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a31" doxytag="thread.h::get"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int get (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_buffer.html">Buffer</a> &amp; <em>b</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
void * <em>o</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a17" doxytag="thread.h::getKey"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void * getKey (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_threadkey.html">ThreadKey</a> &amp; <em>tk</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a14" doxytag="thread.h::getThread"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_thread.html">Thread</a>* getThread (
          </b></td>
          <td valign="bottom"><b>
void&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a36" doxytag="thread.h::gettimeout"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
struct timespec* gettimeout (
          </b></td>
          <td valign="bottom"><b>
struct timespec * <em>spec</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="thread_h.html#a1">timeout_t</a> <em>timeout</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a34" doxytag="thread.h::operator++"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int operator++ (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_mutexcounter.html">MutexCounter</a> &amp; <em>mc</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a23" doxytag="thread.h::operator++"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator++ (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_event.html">Event</a> &amp; <em>s</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a21" doxytag="thread.h::operator++"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator++ (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_semaphore.html">Semaphore</a> &amp; <em>s</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a19" doxytag="thread.h::operator++"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator++ (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_mutex.html">Mutex</a> &amp; <em>m</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a35" doxytag="thread.h::operator--"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int operator-- (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_mutexcounter.html">MutexCounter</a> &amp; <em>mc</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a24" doxytag="thread.h::operator--"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator-- (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_event.html">Event</a> &amp; <em>s</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a22" doxytag="thread.h::operator--"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator-- (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_semaphore.html">Semaphore</a> &amp; <em>s</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a20" doxytag="thread.h::operator--"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void operator-- (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_mutex.html">Mutex</a> &amp; <em>m</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a40" doxytag="thread.h::pdetach"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void pdetach (
          </b></td>
          <td valign="bottom"><b>
void&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This function provides a simple and portable means to fork/detach a process into a daemon. This function provides a simple and portable means to fork/detach a process into a daemon.
<p>
<dl compact><dt>
<b>Author(s): </b><dd>
 David Sugar &lt;<a href="mailto:dyfet@ostel.com">dyfet@ostel.com</a>&gt; </dl>    </td>
  </tr>
</table>
<a name="a33" doxytag="thread.h::peek"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int peek (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_buffer.html">Buffer</a> &amp; <em>b</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
void * <em>o</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a32" doxytag="thread.h::put"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int put (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_buffer.html">Buffer</a> &amp; <em>b</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
void * <em>o</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a30" doxytag="thread.h::reset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void reset (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_event.html">Event</a> &amp; <em>ev</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a18" doxytag="thread.h::setKey"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void setKey (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_threadkey.html">ThreadKey</a> &amp; <em>tk</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
void * <em>ptr</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a16" doxytag="thread.h::sigHandler"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sigHandler (
          </b></td>
          <td valign="bottom"><b>
int <em>signo</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a27" doxytag="thread.h::signal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void signal (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_semaphore.html">Semaphore</a> &amp; <em>sem</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a26" doxytag="thread.h::signal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void signal (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_event.html">Event</a> &amp; <em>ev</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a25" doxytag="thread.h::signal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void signal (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_thread.html">Thread</a> &amp; <em>th</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>signo</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a39" doxytag="thread.h::wait"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void wait (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="thread_h.html#a2">signo_t</a> <em>signo</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a29" doxytag="thread.h::wait"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void wait (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_event.html">Event</a> &amp; <em>ev</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="thread_h.html#a1">timeout_t</a> <em>timer</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a28" doxytag="thread.h::wait"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void wait (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_semaphore.html">Semaphore</a> &amp; <em>sem</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><address><small>Generated at Thu Oct 4 15:32:59 2001 for CommonC++ by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.5 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>