apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bo...@apache.org
Subject svn commit: r784636 [40/47] - in /apr/site/trunk/docs/docs: apr-util/trunk/ apr/trunk/
Date Mon, 15 Jun 2009 00:01:47 GMT
Added: apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_l.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_l.html?rev=784636&view=auto
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_l.html (added)
+++ apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_l.html Mon Jun 15 00:01:38 2009
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Apache Portable Runtime: Resource List Routines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</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>
+<div class="contents">
+<h1>Resource List Routines<br>
+<small>
+[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#ge442d99e6a2eef4a4957f0360822fcac">APR_RESLIST_CLEANUP_DEFAULT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#gd93b2c229d154c8f6a5c9dfcd7488756">APR_RESLIST_CLEANUP_FIRST</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb43e73c2fb526476d3e56d51f5aa214c"></a><!-- doxytag: member="APR_Util_RL::apr_reslist_constructor" ref="gb43e73c2fb526476d3e56d51f5aa214c" args=")(void **resource, void *params, apr_pool_t *pool)" -->
+typedef <a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_reslist_constructor</b> )(void **resource, void *params, <a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g60813240d319787f0430ae3171af838a"></a><!-- doxytag: member="APR_Util_RL::apr_reslist_destructor" ref="g60813240d319787f0430ae3171af838a" args=")(void *resource, void *params, apr_pool_t *pool)" -->
+typedef <a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_reslist_destructor</b> )(void *resource, void *params, <a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g0f5e679d50a07fbcd4a4120617629354">APU_DECLARE</a> (<a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_reslist_create(<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> **reslist</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g769b2ae6e26d584763aac4c648151d2e">APU_DECLARE</a> (void) apr_reslist_timeout_set(<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g81a7e5b310111b6c666aa89b36be6e14">APU_DECLARE</a> (apr_uint32_t) apr_reslist_acquired_count(<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3e202b201e6255d975cd6d3aff1f5a4d"></a><!-- doxytag: member="APR_Util_RL::min" ref="g3e202b201e6255d975cd6d3aff1f5a4d" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>min</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g889195693eba53a2638231e6c1f971b8"></a><!-- doxytag: member="APR_Util_RL::smax" ref="g889195693eba53a2638231e6c1f971b8" args="" -->
+int int&nbsp;</td><td class="memItemRight" valign="bottom"><b>smax</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge289b3d27f213c0c0525b41741ab8201"></a><!-- doxytag: member="APR_Util_RL::hmax" ref="ge289b3d27f213c0c0525b41741ab8201" args="" -->
+int int int&nbsp;</td><td class="memItemRight" valign="bottom"><b>hmax</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9fabdc962650d25f74b7cfa14d4d60e7"></a><!-- doxytag: member="APR_Util_RL::ttl" ref="g9fabdc962650d25f74b7cfa14d4d60e7" args="" -->
+int int int <a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>ttl</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g78a9bc213e38a23acef3b56261062e3a"></a><!-- doxytag: member="APR_Util_RL::con" ref="g78a9bc213e38a23acef3b56261062e3a" args="" -->
+int int int <br class="typebreak">
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> <br class="typebreak">
+apr_reslist_constructor&nbsp;</td><td class="memItemRight" valign="bottom"><b>con</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb07bdd2ad15e8bf3e26dd0ca7a09c2b9"></a><!-- doxytag: member="APR_Util_RL::de" ref="gb07bdd2ad15e8bf3e26dd0ca7a09c2b9" args="" -->
+int int int <br class="typebreak">
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> <br class="typebreak">
+apr_reslist_constructor <br class="typebreak">
+apr_reslist_destructor&nbsp;</td><td class="memItemRight" valign="bottom"><b>de</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1d35e736cdbc73587323e02e92a68713"></a><!-- doxytag: member="APR_Util_RL::params" ref="g1d35e736cdbc73587323e02e92a68713" args="" -->
+int int int <br class="typebreak">
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> <br class="typebreak">
+apr_reslist_constructor <br class="typebreak">
+apr_reslist_destructor void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>params</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcf6798552feb00325fcde6cf23b1ebee"></a><!-- doxytag: member="APR_Util_RL::pool" ref="gcf6798552feb00325fcde6cf23b1ebee" args="" -->
+int int int <br class="typebreak">
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> <br class="typebreak">
+apr_reslist_constructor <br class="typebreak">
+apr_reslist_destructor void <br class="typebreak">
+<a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pool</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gce5ccd456846e6c0fdd4da4136bd9a44"></a><!-- doxytag: member="APR_Util_RL::resource" ref="gce5ccd456846e6c0fdd4da4136bd9a44" args="" -->
+void **&nbsp;</td><td class="memItemRight" valign="bottom"><b>resource</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9ceb71d3d9fcd18962d16e49bef6153a"></a><!-- doxytag: member="APR_Util_RL::timeout" ref="g9ceb71d3d9fcd18962d16e49bef6153a" args="" -->
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>timeout</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g22a1aa1b710da89106f72460a06a6b5d"></a><!-- doxytag: member="APR_Util_RL::mode" ref="g22a1aa1b710da89106f72460a06a6b5d" args="" -->
+apr_uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>mode</b></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="ge442d99e6a2eef4a4957f0360822fcac"></a><!-- doxytag: member="apr_reslist.h::APR_RESLIST_CLEANUP_DEFAULT" ref="ge442d99e6a2eef4a4957f0360822fcac" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APR_RESLIST_CLEANUP_DEFAULT&nbsp;&nbsp;&nbsp;0          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+default pool cleanup 
+</div>
+</div><p>
+<a class="anchor" name="gd93b2c229d154c8f6a5c9dfcd7488756"></a><!-- doxytag: member="apr_reslist.h::APR_RESLIST_CLEANUP_FIRST" ref="gd93b2c229d154c8f6a5c9dfcd7488756" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define APR_RESLIST_CLEANUP_FIRST&nbsp;&nbsp;&nbsp;1          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+use pool pre cleanup 
+</div>
+</div><p>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g670f6719dfeffe1037e063eaab7b82ac"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_t" ref="g670f6719dfeffe1037e063eaab7b82ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Opaque resource list object 
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g81a7e5b310111b6c666aa89b36be6e14"></a><!-- doxytag: member="apr_reslist.h::APU_DECLARE" ref="g81a7e5b310111b6c666aa89b36be6e14" args="(apr_uint32_t) apr_reslist_acquired_count(apr_reslist_t *reslist)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">apr_uint32_t&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the number of outstanding resources. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The resource list.</td></tr>
+  </table>
+</dl>
+Creates a crc32 hash used to split keys between servers <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to be hashed </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data_len</em>&nbsp;</td><td>Length of the data to use </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>crc32 hash of data </dd></dl>
+<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The crc32 hash is not compatible with old memcached clients.</dd></dl>
+Pure CRC32 Hash. Used by some clients.<p>
+hash compatible with the standard Perl Client. 
+</div>
+</div><p>
+<a class="anchor" name="g769b2ae6e26d584763aac4c648151d2e"></a><!-- doxytag: member="apr_reslist.h::APU_DECLARE" ref="g769b2ae6e26d584763aac4c648151d2e" args="(void) apr_reslist_timeout_set(apr_reslist_t *reslist" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the timeout the acquire will wait for a free resource when the maximum number of resources is exceeded. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The resource list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout to wait. The zero waits forever.</td></tr>
+  </table>
+</dl>
+Set reslist cleanup order. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The resource list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Cleanup order mode <pre>
+           APR_RESLIST_CLEANUP_DEFAULT  default pool cleanup order
+           APR_RESLIST_CLEANUP_FIRST    use pool pre cleanup
+ </pre> </td></tr>
+  </table>
+</dl>
+<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If APR_RESLIST_CLEANUP_FIRST is used the destructors will be called before child pools of the pool used to create the reslist are destroyed. This allows to explicitly destroy the child pools inside reslist destructors. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0f5e679d50a07fbcd4a4120617629354"></a><!-- doxytag: member="apr_reslist.h::APU_DECLARE" ref="g0f5e679d50a07fbcd4a4120617629354" args="(apr_status_t) apr_reslist_create(apr_reslist_t **reslist" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a new resource list with the following parameters: <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>An address where the pointer to the new resource list will be stored. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>min</em>&nbsp;</td><td>Allowed minimum number of available resources. Zero creates new resources only when needed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>smax</em>&nbsp;</td><td>Resources will be destroyed to meet this maximum restriction as they expire. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hmax</em>&nbsp;</td><td>Absolute maximum limit on the number of total resources. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ttl</em>&nbsp;</td><td>If non-zero, sets the maximum amount of time a resource may be available while exceeding the soft limit. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>con</em>&nbsp;</td><td>Constructor routine that is called to create a new resource. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>de</em>&nbsp;</td><td>Destructor routine that is called to destroy an expired resource. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Passed to constructor and deconstructor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool from which to create this resource list. Also the same pool that is passed to the constructor and destructor routines. </td></tr>
+  </table>
+</dl>
+<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If APR has been compiled without thread support, hmax will be automatically set to 1 and values of min and smax will be forced to 1 for any non-zero value.</dd></dl>
+Destroy the given resource list and all resources controlled by this list. FIXME: Should this block until all resources become available, or maybe just destroy all the free ones, or maybe destroy them even though they might be in use by something else? Currently it will abort if there are resources that haven't been released, so there is an assumption that all resources have been released to the list before calling this function. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The reslist to destroy</td></tr>
+  </table>
+</dl>
+Retrieve a resource from the list, creating a new one if necessary. If we have met our maximum number of resources, we will block until one becomes available.<p>
+Return a resource back to the list of available resources.<p>
+Invalidate a resource in the pool - e.g. a database connection that returns a "lost connection" error and can't be restored. Use this instead of apr_reslist_release if the resource is bad.<p>
+Perform routine maintenance on the resource list. This call may instantiate new resources or expire old resources. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The resource list. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jun 15 09:45:30 2009 for Apache Portable Runtime by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>

Added: apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_m_m.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_m_m.html?rev=784636&view=auto
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_m_m.html (added)
+++ apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___r_m_m.html Mon Jun 15 00:01:38 2009
@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Apache Portable Runtime: Relocatable Memory Management Routines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</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>
+<div class="contents">
+<h1>Relocatable Memory Management Routines<br>
+<small>
+[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#g70b508c81a0bc75350efdefb3410af12">apr_rmm_off_t</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#ga2645d20098f125bc72dd229db627b64">APU_DECLARE</a> (<a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_rmm_init(<a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a> **rmm</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#g816fbaf1e2e831c43acc9990e3f8cd96">APU_DECLARE</a> (<a class="el" href="group___a_p_r___util___r_m_m.html#g70b508c81a0bc75350efdefb3410af12">apr_rmm_off_t</a>) apr_rmm_malloc(<a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a> *rmm</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#gd9b913df6926ec4204252ad5540609a4">APU_DECLARE</a> (void *) apr_rmm_addr_get(<a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a> *rmm</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html#g0056bf3cc96a468eb4ae65df01c72ba2">APU_DECLARE</a> (apr_size_t) apr_rmm_overhead_get(int n)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0353fe7d0bd33c38d9a7a57a73b6407e"></a><!-- doxytag: member="APR_Util_RMM::lock" ref="g0353fe7d0bd33c38d9a7a57a73b6407e" args="" -->
+<a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>lock</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8cd1efca8664c2df8d8dbab3bf4b90df"></a><!-- doxytag: member="APR_Util_RMM::membuf" ref="g8cd1efca8664c2df8d8dbab3bf4b90df" args="" -->
+<a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>membuf</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcf427447e8eb4dd9a7238411a3ae120d"></a><!-- doxytag: member="APR_Util_RMM::memsize" ref="gcf427447e8eb4dd9a7238411a3ae120d" args="" -->
+<a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> void apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>memsize</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdb9070ef05a170aebb3bab70465af9ac"></a><!-- doxytag: member="APR_Util_RMM::cont" ref="gdb9070ef05a170aebb3bab70465af9ac" args="" -->
+<a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> void apr_size_t <br class="typebreak">
+<a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>cont</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb0526251505fe7f4db6377b7617e16d9"></a><!-- doxytag: member="APR_Util_RMM::reqsize" ref="gb0526251505fe7f4db6377b7617e16d9" args="" -->
+apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>reqsize</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9c332e6ff04da36425a4963b3bd27dd3"></a><!-- doxytag: member="APR_Util_RMM::entity" ref="g9c332e6ff04da36425a4963b3bd27dd3" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>entity</b></td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g70b508c81a0bc75350efdefb3410af12"></a><!-- doxytag: member="apr_rmm.h::apr_rmm_off_t" ref="g70b508c81a0bc75350efdefb3410af12" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef apr_size_t <a class="el" href="group___a_p_r___util___r_m_m.html#g70b508c81a0bc75350efdefb3410af12">apr_rmm_off_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fundamental allocation unit, within a specific apr_rmm_t 
+</div>
+</div><p>
+<a class="anchor" name="gdb4d418c417ece33c4430ba9df59070a"></a><!-- doxytag: member="apr_rmm.h::apr_rmm_t" ref="gdb4d418c417ece33c4430ba9df59070a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a> <a class="el" href="group___a_p_r___util___r_m_m.html#gdb4d418c417ece33c4430ba9df59070a">apr_rmm_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Structure to access Relocatable, Managed Memory 
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g0056bf3cc96a468eb4ae65df01c72ba2"></a><!-- doxytag: member="apr_rmm.h::APU_DECLARE" ref="g0056bf3cc96a468eb4ae65df01c72ba2" args="(apr_size_t) apr_rmm_overhead_get(int n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">apr_size_t&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Compute the required overallocation of memory needed to fit n allocs <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The number of alloc/calloc regions desired</td></tr>
+  </table>
+</dl>
+Get the current number of scheduled tasks waiting in the queue <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of scheduled tasks in the queue</dd></dl>
+Get the current number of threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Total number of threads</dd></dl>
+Get the current number of busy threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of busy threads</dd></dl>
+Get the current number of idle threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of idle threads</dd></dl>
+Access function for the maximum number of idle threads. Number of current idle threads will be reduced to the new limit. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>The number </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of threads that were stopped.</dd></dl>
+Access function for the maximum number of idle threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current maximum number</dd></dl>
+Access function for the maximum number of threads. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>Number of threads </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The original maximum number of threads</dd></dl>
+Access function for the maximum number of threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current maximum number</dd></dl>
+Access function for the threshold of tasks in queue to trigger a new thread. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>The new threshold </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The original threshold</dd></dl>
+Access function for the threshold of tasks in queue to trigger a new thread. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current threshold </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd9b913df6926ec4204252ad5540609a4"></a><!-- doxytag: member="apr_rmm.h::APU_DECLARE" ref="gd9b913df6926ec4204252ad5540609a4" args="(void *) apr_rmm_addr_get(apr_rmm_t *rmm" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the physical address of a relocatable allocation of memory <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>entity</em>&nbsp;</td><td>The memory allocation to free </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>address The address, aligned with APR_ALIGN_DEFAULT. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g816fbaf1e2e831c43acc9990e3f8cd96"></a><!-- doxytag: member="apr_rmm.h::APU_DECLARE" ref="g816fbaf1e2e831c43acc9990e3f8cd96" args="(apr_rmm_off_t) apr_rmm_malloc(apr_rmm_t *rmm" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_m_m.html#g70b508c81a0bc75350efdefb3410af12">apr_rmm_off_t</a>&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allocate memory from the block of relocatable memory. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>reqsize</em>&nbsp;</td><td>How much memory to allocate</td></tr>
+  </table>
+</dl>
+Realloc memory from the block of relocatable memory. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>entity</em>&nbsp;</td><td>The memory allocation to realloc </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>reqsize</em>&nbsp;</td><td>The new size</td></tr>
+  </table>
+</dl>
+Allocate memory from the block of relocatable memory and initialize it to zero. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>reqsize</em>&nbsp;</td><td>How much memory to allocate</td></tr>
+  </table>
+</dl>
+Compute the offset of a relocatable allocation of memory <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>entity</em>&nbsp;</td><td>The physical address to convert to an offset </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ga2645d20098f125bc72dd229db627b64"></a><!-- doxytag: member="apr_rmm.h::APU_DECLARE" ref="ga2645d20098f125bc72dd229db627b64" args="(apr_status_t) apr_rmm_init(apr_rmm_t **rmm" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize a relocatable memory block to be managed by the apr_rmm API. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>An <a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> of the appropriate type of lock, or NULL if no locking is required. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>membuf</em>&nbsp;</td><td>The block of relocatable memory to be managed </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>memsize</em>&nbsp;</td><td>The size of relocatable memory block to be managed </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cont</em>&nbsp;</td><td>The pool to use for local storage and management </td></tr>
+  </table>
+</dl>
+<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Both </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>membuf</em>&nbsp;</td><td>and </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>memsize</em>&nbsp;</td><td>must be aligned (for instance using APR_ALIGN_DEFAULT).</td></tr>
+  </table>
+</dl>
+Destroy a managed memory block. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block to destroy</td></tr>
+  </table>
+</dl>
+Attach to a relocatable memory block already managed by the apr_rmm API. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>An <a class="el" href="structapr__anylock__t.html">apr_anylock_t</a> of the appropriate type of lock </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>membuf</em>&nbsp;</td><td>The block of relocatable memory already under management </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cont</em>&nbsp;</td><td>The pool to use for local storage and management</td></tr>
+  </table>
+</dl>
+Detach from the managed block of memory. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block to detach from</td></tr>
+  </table>
+</dl>
+Free allocation returned by apr_rmm_malloc or apr_rmm_calloc. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>rmm</em>&nbsp;</td><td>The relocatable memory block </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>entity</em>&nbsp;</td><td>The memory allocation to free </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jun 15 09:45:30 2009 for Apache Portable Runtime by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>

Added: apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___str_match.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___str_match.html?rev=784636&view=auto
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___str_match.html (added)
+++ apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___str_match.html Mon Jun 15 00:01:38 2009
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Apache Portable Runtime: String matching routines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</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>
+<div class="contents">
+<h1>String matching routines<br>
+<small>
+[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___str_match.html#gb7fc6f6d1b15c8d8750b4637b8ac5679">apr_strmatch_pattern</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___str_match.html#gd681f10ad1da1f1e1011b118ac91cd6a">APU_DECLARE</a> (const char *) apr_strmatch(const <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a> *pattern</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___str_match.html#ged9c7e5c1f63df101c5b6b62b3dc3713">APU_DECLARE</a> (const <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a> *) apr_strmatch_precompile(<a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9359ed159c8b295541e3770172d34550"></a><!-- doxytag: member="APR_Util_StrMatch::s" ref="g9359ed159c8b295541e3770172d34550" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>s</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g82fe677ed8341dde4b9a4fcf448a61ee"></a><!-- doxytag: member="APR_Util_StrMatch::slen" ref="g82fe677ed8341dde4b9a4fcf448a61ee" args="" -->
+const char apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>slen</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6b2761630603a3cce5105513f9020fe0"></a><!-- doxytag: member="APR_Util_StrMatch::case_sensitive" ref="g6b2761630603a3cce5105513f9020fe0" args="" -->
+const char int&nbsp;</td><td class="memItemRight" valign="bottom"><b>case_sensitive</b></td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="gb7fc6f6d1b15c8d8750b4637b8ac5679"></a><!-- doxytag: member="apr_strmatch.h::apr_strmatch_pattern" ref="gb7fc6f6d1b15c8d8750b4637b8ac5679" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a> <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a> </dd></dl>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ged9c7e5c1f63df101c5b6b62b3dc3713"></a><!-- doxytag: member="apr_strmatch.h::APU_DECLARE" ref="ged9c7e5c1f63df101c5b6b62b3dc3713" args="(const apr_strmatch_pattern *) apr_strmatch_precompile(apr_pool_t *p" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structapr__strmatch__pattern.html">apr_strmatch_pattern</a> *&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Precompile a pattern for matching using the Boyer-Moore-Horspool algorithm <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool from which to allocate the pattern </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The pattern string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>case_sensitive</em>&nbsp;</td><td>Whether the matching should be case-sensitive </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the compiled pattern, or NULL if compilation fails </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd681f10ad1da1f1e1011b118ac91cd6a"></a><!-- doxytag: member="apr_strmatch.h::APU_DECLARE" ref="gd681f10ad1da1f1e1011b118ac91cd6a" args="(const char *) apr_strmatch(const apr_strmatch_pattern *pattern" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Search for a precompiled pattern within a string <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pattern</em>&nbsp;</td><td>The pattern </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The string in which to search for the pattern </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>slen</em>&nbsp;</td><td>The length of s (excluding null terminator) </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the first instance of the pattern in s, or NULL if not found </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jun 15 09:45:30 2009 for Apache Portable Runtime by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>

Added: apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___t_p.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___t_p.html?rev=784636&view=auto
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___t_p.html (added)
+++ apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___t_p.html Mon Jun 15 00:01:38 2009
@@ -0,0 +1,449 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Apache Portable Runtime: Thread Pool routines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</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>
+<div class="contents">
+<h1>Thread Pool routines<br>
+<small>
+[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g312691aaa41f45820e13c2566a4c6780"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_LOWEST" ref="g312691aaa41f45820e13c2566a4c6780" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOWEST</b>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g19879c994e9a71e9954e580a179b62c1"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_LOW" ref="g19879c994e9a71e9954e580a179b62c1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOW</b>&nbsp;&nbsp;&nbsp;63</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g84d2ac8fa8a538661715b0d2e2736cb1"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_NORMAL" ref="g84d2ac8fa8a538661715b0d2e2736cb1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_NORMAL</b>&nbsp;&nbsp;&nbsp;127</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g289d5e1346b5807b43db9ea7d4ea5c17"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_HIGH" ref="g289d5e1346b5807b43db9ea7d4ea5c17" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGH</b>&nbsp;&nbsp;&nbsp;191</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5fa01e4e210270d119382a80aae13d1d"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_HIGHEST" ref="g5fa01e4e210270d119382a80aae13d1d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGHEST</b>&nbsp;&nbsp;&nbsp;255</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct apr_thread_pool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g767eb3d1d105dec405eaff6643ad5630">APU_DECLARE</a> (<a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_thread_pool_create(<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> **me</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g6f1f2b23d400111c75312f6d05eaf709">APU_DECLARE</a> (apr_size_t) apr_thread_pool_tasks_count(<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ge5a8d64348145d4c9e06374000628390">apr_thread_pool_tasks_run_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g7907da595aadd07eb5738ccab00efe9f">apr_thread_pool_tasks_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g7970e9412e4fceea6de2b3ee2099977b">apr_thread_pool_threads_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g5e06f7716f8b96c3c2c45166f62adc4e">apr_thread_pool_threads_idle_timeout_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g47e3060a5ee2dbe598ed7e6b65c42186">apr_thread_pool_idle_wait_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> timeout)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#g871edcef29b3636ef23de3c6ea4477c3">apr_thread_pool_idle_wait_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ab4c2703e962d18a6010915d11e1f8b"></a><!-- doxytag: member="APR_Util_TP::init_threads" ref="g1ab4c2703e962d18a6010915d11e1f8b" args="" -->
+apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>init_threads</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9c85a5872aa7ed0adf9de0285faa32d0"></a><!-- doxytag: member="APR_Util_TP::max_threads" ref="g9c85a5872aa7ed0adf9de0285faa32d0" args="" -->
+apr_size_t apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_threads</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1f40e398460db26b18db207db17d7329"></a><!-- doxytag: member="APR_Util_TP::pool" ref="g1f40e398460db26b18db207db17d7329" args="" -->
+apr_size_t apr_size_t <a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pool</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g73ea350cd5c272b76e8ca782435bba0e"></a><!-- doxytag: member="APR_Util_TP::func" ref="g73ea350cd5c272b76e8ca782435bba0e" args="" -->
+<a class="el" href="group__apr__thread__proc.html#g37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>func</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g88ccec3d0c03b8fa63829766dd6297bf"></a><!-- doxytag: member="APR_Util_TP::param" ref="g88ccec3d0c03b8fa63829766dd6297bf" args="" -->
+<a class="el" href="group__apr__thread__proc.html#g37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>param</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g79d19a02611a92b9a79c6887f608a16d"></a><!-- doxytag: member="APR_Util_TP::priority" ref="g79d19a02611a92b9a79c6887f608a16d" args="" -->
+<a class="el" href="group__apr__thread__proc.html#g37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> void apr_byte_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>priority</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5b037589544534c668fdc3865db32153"></a><!-- doxytag: member="APR_Util_TP::owner" ref="g5b037589544534c668fdc3865db32153" args="" -->
+<a class="el" href="group__apr__thread__proc.html#g37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> void <br class="typebreak">
+apr_byte_t void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>owner</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g089893188117a6e2cf5e324715a5f724"></a><!-- doxytag: member="APR_Util_TP::time" ref="g089893188117a6e2cf5e324715a5f724" args="" -->
+<a class="el" href="group__apr__thread__proc.html#g37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> void <br class="typebreak">
+<a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>time</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3d4818bde9873e42f1ecd0e8190a1909"></a><!-- doxytag: member="APR_Util_TP::cnt" ref="g3d4818bde9873e42f1ecd0e8190a1909" args="" -->
+apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cnt</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbd1b799f42205dace18be559052dae77"></a><!-- doxytag: member="APR_Util_TP::val" ref="gbd1b799f42205dace18be559052dae77" args="" -->
+apr_size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>val</b></td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="gb31b68a03a0d5eec3e1879c253d3b620"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_t" ref="gb31b68a03a0d5eec3e1879c253d3b620" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct apr_thread_pool <a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Opaque Thread Pool structure. 
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g871edcef29b3636ef23de3c6ea4477c3"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_wait_get" ref="g871edcef29b3636ef23de3c6ea4477c3" args="(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_idle_wait_get           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Access function for the maximum wait time (in microseconds) of an idling thread that exceeds the maximum number of idling threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current maximum wait time </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g47e3060a5ee2dbe598ed7e6b65c42186"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_wait_set" ref="g47e3060a5ee2dbe598ed7e6b65c42186" args="(apr_thread_pool_t *me, apr_interval_time_t timeout)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_idle_wait_set           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__apr__time.html#gae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&nbsp;</td>
+          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Access function for the maximum wait time (in microseconds) of an idling thread that exceeds the maximum number of idling threads. A non-zero value allows for the reaping of idling threads to shrink over time. Which helps reduce thrashing. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>The number of microseconds an idle thread should wait till it reaps itself </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The original maximum wait time </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7907da595aadd07eb5738ccab00efe9f"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_high_count" ref="g7907da595aadd07eb5738ccab00efe9f" args="(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_tasks_high_count           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get high water mark of the number of tasks waiting to run <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>High water mark of tasks waiting to run </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ge5a8d64348145d4c9e06374000628390"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_run_count" ref="ge5a8d64348145d4c9e06374000628390" args="(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_tasks_run_count           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get number of tasks that have run <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of tasks that have run </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7970e9412e4fceea6de2b3ee2099977b"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threads_high_count" ref="g7970e9412e4fceea6de2b3ee2099977b" args="(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_threads_high_count           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get high water mark of the number of threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>High water mark of threads in thread pool </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g5e06f7716f8b96c3c2c45166f62adc4e"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threads_idle_timeout_count" ref="g5e06f7716f8b96c3c2c45166f62adc4e" args="(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">apr_thread_pool_threads_idle_timeout_count           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gb31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>me</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the number of idle threads that were destroyed after timing out <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of idle threads that timed out </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g6f1f2b23d400111c75312f6d05eaf709"></a><!-- doxytag: member="apr_thread_pool.h::APU_DECLARE" ref="g6f1f2b23d400111c75312f6d05eaf709" args="(apr_size_t) apr_thread_pool_tasks_count(apr_thread_pool_t *me)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype">apr_size_t&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the current number of tasks waiting in the queue <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of tasks in the queue</dd></dl>
+Get the current number of scheduled tasks waiting in the queue <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of scheduled tasks in the queue</dd></dl>
+Get the current number of threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Total number of threads</dd></dl>
+Get the current number of busy threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of busy threads</dd></dl>
+Get the current number of idle threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of idle threads</dd></dl>
+Access function for the maximum number of idle threads. Number of current idle threads will be reduced to the new limit. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>The number </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of threads that were stopped.</dd></dl>
+Access function for the maximum number of idle threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current maximum number</dd></dl>
+Access function for the maximum number of threads. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>Number of threads </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The original maximum number of threads</dd></dl>
+Access function for the maximum number of threads <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current maximum number</dd></dl>
+Access function for the threshold of tasks in queue to trigger a new thread. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>The new threshold </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The original threshold</dd></dl>
+Access function for the threshold of tasks in queue to trigger a new thread. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current threshold </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g767eb3d1d105dec405eaff6643ad5630"></a><!-- doxytag: member="apr_thread_pool.h::APU_DECLARE" ref="g767eb3d1d105dec405eaff6643ad5630" args="(apr_status_t) apr_thread_pool_create(apr_thread_pool_t **me" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">APU_DECLARE           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a thread pool <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The pointer in which to return the newly created apr_thread_pool object, or NULL if thread pool creation fails. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>init_threads</em>&nbsp;</td><td>The number of threads to be created initially, this number will also be used as the initial value for the maximum number of idle threads. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>max_threads</em>&nbsp;</td><td>The maximum number of threads that can be created </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the thread pool was created successfully. Otherwise, the error code.</dd></dl>
+Destroy the thread pool and stop all the threads <dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if all threads are stopped.</dd></dl>
+Schedule a task to the bottom of the tasks of same priority. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter for the task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>The priority of the task. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>owner</em>&nbsp;</td><td>Owner of this task. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully</dd></dl>
+Schedule a task to be run after a delay <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter for the task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>Time in microseconds </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>owner</em>&nbsp;</td><td>Owner of this task. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully</dd></dl>
+Schedule a task to the top of the tasks of same priority. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter for the task function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>The priority of the task. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>owner</em>&nbsp;</td><td>Owner of this task. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully</dd></dl>
+Cancel tasks submitted by the owner. If there is any task from the owner that is currently running, the function will spin until the task finished. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>The thread pool </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>owner</em>&nbsp;</td><td>Owner of the task </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task has been cancelled successfully </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The task function should not be calling cancel, otherwise the function may get stuck forever. The function assert if it detect such a case.</dd></dl>
+Get owner of the task currently been executed by the thread. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>thd</em>&nbsp;</td><td>The thread is executing a task </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>owner</em>&nbsp;</td><td>Pointer to receive owner of the task. </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the owner is retrieved successfully </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jun 15 09:45:30 2009 for Apache Portable Runtime by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>



Mime
View raw message