Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 42b8e67cd59abacb81e11c7ba39524d1 > files > 235

apr-api-docs-1.4.2-1.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Apache Portable Runtime: Thread Pool routines</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache Portable Runtime</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>Thread Pool routines</h1>  </div>
<div class="ingroups"><a class="el" href="group___a_p_r___util.html">APR Utility Functions</a></div></div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga312691aaa41f45820e13c2566a4c6780"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_LOWEST" ref="ga312691aaa41f45820e13c2566a4c6780" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOWEST</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga19879c994e9a71e9954e580a179b62c1"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_LOW" ref="ga19879c994e9a71e9954e580a179b62c1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOW</b>&#160;&#160;&#160;63</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga84d2ac8fa8a538661715b0d2e2736cb1"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_NORMAL" ref="ga84d2ac8fa8a538661715b0d2e2736cb1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_NORMAL</b>&#160;&#160;&#160;127</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga289d5e1346b5807b43db9ea7d4ea5c17"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_HIGH" ref="ga289d5e1346b5807b43db9ea7d4ea5c17" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGH</b>&#160;&#160;&#160;191</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5fa01e4e210270d119382a80aae13d1d"></a><!-- doxytag: member="APR_Util_TP::APR_THREAD_TASK_PRIORITY_HIGHEST" ref="ga5fa01e4e210270d119382a80aae13d1d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGHEST</b>&#160;&#160;&#160;255</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct apr_thread_pool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9c4351f2f93d223c159c1f8e5481830e">apr_thread_pool_create</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> **me, apr_size_t init_threads, apr_size_t max_threads, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab06b4fdfc684c88781abf201d53a44eb">apr_thread_pool_destroy</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gad66fb92679a8f456ff8e8ea1629eb041">apr_thread_pool_push</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaa79df50c650442b8d39e169f4e422d3b">apr_thread_pool_schedule</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, <a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> time, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9acb6218820184f0617eecf56f0d3d84">apr_thread_pool_top</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaee3d7332cf2591f42472e8be0bcbff87">apr_thread_pool_tasks_cancel</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga4f628cbec0365bb39be715a3c7ff0ec3">apr_thread_pool_tasks_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gac0324b95f6b61dbfb184cbe84c541b42">apr_thread_pool_scheduled_tasks_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9a2642a5a61df9560da438e818d5fad3">apr_thread_pool_threads_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaf839cda931928964f450e3a17d153b24">apr_thread_pool_busy_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gae6c5b87d1fee7150f74baa1008cb00c0">apr_thread_pool_idle_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga07c5e4dca589ff024e9adfc8f818c481">apr_thread_pool_idle_max_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t cnt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaab5c9c8afc46793ea5c413edfc9ef46e">apr_thread_pool_tasks_run_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga5eda07fb7fac1b4c4165137f34c5c31c">apr_thread_pool_tasks_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab6dcdaa6129caf35fa370e694a67ff08">apr_thread_pool_threads_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gafcf0a761a77b2a27fc043d650606c122">apr_thread_pool_threads_idle_timeout_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga6dd7fdcaac5cb2848aecd2ee1426d41e">apr_thread_pool_idle_max_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaa352b6337b31ebab796b604240a907e9">apr_thread_pool_thread_max_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t cnt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga382b90c482d39184b2a80157f64166ec">apr_thread_pool_idle_wait_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> timeout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga6ef255c2d556fa757e9b78c2745c9bac">apr_thread_pool_idle_wait_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaca755ea05976c5e1b782dcf40a1ef443">apr_thread_pool_thread_max_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga1c35f1bd809dde4300f4a3f77026f446">apr_thread_pool_threshold_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga38f4ad8e384cde0e9d32867031c7a935">apr_thread_pool_threshold_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaefbaa0f765567e8e5a79adaaf346755f">apr_thread_pool_task_owner_get</a> (<a class="el" href="group__apr__thread__proc.html#ga646c71351e723d84f8cc8c8d1d5937be">apr_thread_t</a> *thd, void **owner)</td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gab31b68a03a0d5eec3e1879c253d3b620"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_t" ref="gab31b68a03a0d5eec3e1879c253d3b620" 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#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Opaque Thread Pool structure. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaf839cda931928964f450e3a17d153b24"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_busy_count" ref="gaf839cda931928964f450e3a17d153b24" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_busy_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current number of busy threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of busy threads </dd></dl>

</div>
</div>
<a class="anchor" id="ga9c4351f2f93d223c159c1f8e5481830e"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_create" ref="ga9c4351f2f93d223c159c1f8e5481830e" args="(apr_thread_pool_t **me, apr_size_t init_threads, apr_size_t max_threads, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> **&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>init_threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>max_threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a thread pool </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</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 class="paramname">init_threads</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 class="paramname">max_threads</td><td>The maximum number of threads that can be created </td></tr>
    <tr><td class="paramname">pool</td><td>The pool to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the thread pool was created successfully. Otherwise, the error code. </dd></dl>

</div>
</div>
<a class="anchor" id="gab06b4fdfc684c88781abf201d53a44eb"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_destroy" ref="gab06b4fdfc684c88781abf201d53a44eb" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destroy the thread pool and stop all the threads </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if all threads are stopped. </dd></dl>

</div>
</div>
<a class="anchor" id="gae6c5b87d1fee7150f74baa1008cb00c0"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_count" ref="gae6c5b87d1fee7150f74baa1008cb00c0" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_idle_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current number of idle threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of idle threads </dd></dl>

</div>
</div>
<a class="anchor" id="ga6dd7fdcaac5cb2848aecd2ee1426d41e"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_max_get" ref="ga6dd7fdcaac5cb2848aecd2ee1426d41e" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_idle_max_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the maximum number of idle threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current maximum number </dd></dl>

</div>
</div>
<a class="anchor" id="ga07c5e4dca589ff024e9adfc8f818c481"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_max_set" ref="ga07c5e4dca589ff024e9adfc8f818c481" args="(apr_thread_pool_t *me, apr_size_t cnt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_idle_max_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>cnt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the maximum number of idle threads. Number of current idle threads will be reduced to the new limit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">cnt</td><td>The number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of threads that were stopped. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6ef255c2d556fa757e9b78c2745c9bac"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_wait_get" ref="ga6ef255c2d556fa757e9b78c2745c9bac" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> apr_thread_pool_idle_wait_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></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 </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current maximum wait time </dd></dl>

</div>
</div>
<a class="anchor" id="ga382b90c482d39184b2a80157f64166ec"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_idle_wait_set" ref="ga382b90c482d39184b2a80157f64166ec" args="(apr_thread_pool_t *me, apr_interval_time_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> apr_thread_pool_idle_wait_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</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#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <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. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">timeout</td><td>The number of microseconds an idle thread should wait till it reaps itself </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The original maximum wait time </dd></dl>

</div>
</div>
<a class="anchor" id="gad66fb92679a8f456ff8e8ea1629eb041"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_push" ref="gad66fb92679a8f456ff8e8ea1629eb041" args="(apr_thread_pool_t *me, apr_thread_start_t func, void *param, apr_byte_t priority, void *owner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_push </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</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__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_byte_t&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>owner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Schedule a task to the bottom of the tasks of same priority. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">func</td><td>The task function </td></tr>
    <tr><td class="paramname">param</td><td>The parameter for the task function </td></tr>
    <tr><td class="paramname">priority</td><td>The priority of the task. </td></tr>
    <tr><td class="paramname">owner</td><td>Owner of this task. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully </dd></dl>

</div>
</div>
<a class="anchor" id="gaa79df50c650442b8d39e169f4e422d3b"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_schedule" ref="gaa79df50c650442b8d39e169f4e422d3b" args="(apr_thread_pool_t *me, apr_thread_start_t func, void *param, apr_interval_time_t time, void *owner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_schedule </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</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__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>owner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Schedule a task to be run after a delay </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">func</td><td>The task function </td></tr>
    <tr><td class="paramname">param</td><td>The parameter for the task function </td></tr>
    <tr><td class="paramname">time</td><td>Time in microseconds </td></tr>
    <tr><td class="paramname">owner</td><td>Owner of this task. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully </dd></dl>

</div>
</div>
<a class="anchor" id="gac0324b95f6b61dbfb184cbe84c541b42"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_scheduled_tasks_count" ref="gac0324b95f6b61dbfb184cbe84c541b42" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_scheduled_tasks_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current number of scheduled tasks waiting in the queue </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of scheduled tasks in the queue </dd></dl>

</div>
</div>
<a class="anchor" id="gaefbaa0f765567e8e5a79adaaf346755f"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_task_owner_get" ref="gaefbaa0f765567e8e5a79adaaf346755f" args="(apr_thread_t *thd, void **owner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_task_owner_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__thread__proc.html#ga646c71351e723d84f8cc8c8d1d5937be">apr_thread_t</a> *&#160;</td>
          <td class="paramname"><em>thd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>owner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get owner of the task currently been executed by the thread. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">thd</td><td>The thread is executing a task </td></tr>
    <tr><td class="paramname">owner</td><td>Pointer to receive owner of the task. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the owner is retrieved successfully </dd></dl>

</div>
</div>
<a class="anchor" id="gaee3d7332cf2591f42472e8be0bcbff87"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_cancel" ref="gaee3d7332cf2591f42472e8be0bcbff87" args="(apr_thread_pool_t *me, void *owner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_tasks_cancel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>owner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>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. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">owner</td><td>Owner of the task </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task has been cancelled successfully </dd></dl>
<dl class="note"><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>

</div>
</div>
<a class="anchor" id="ga4f628cbec0365bb39be715a3c7ff0ec3"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_count" ref="ga4f628cbec0365bb39be715a3c7ff0ec3" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_tasks_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current number of tasks waiting in the queue </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of tasks in the queue </dd></dl>

</div>
</div>
<a class="anchor" id="ga5eda07fb7fac1b4c4165137f34c5c31c"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_high_count" ref="ga5eda07fb7fac1b4c4165137f34c5c31c" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_tasks_high_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get high water mark of the number of tasks waiting to run </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>High water mark of tasks waiting to run </dd></dl>

</div>
</div>
<a class="anchor" id="gaab5c9c8afc46793ea5c413edfc9ef46e"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_tasks_run_count" ref="gaab5c9c8afc46793ea5c413edfc9ef46e" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_tasks_run_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get number of tasks that have run </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of tasks that have run </dd></dl>

</div>
</div>
<a class="anchor" id="gaca755ea05976c5e1b782dcf40a1ef443"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_thread_max_get" ref="gaca755ea05976c5e1b782dcf40a1ef443" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_thread_max_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the maximum number of threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current maximum number </dd></dl>

</div>
</div>
<a class="anchor" id="gaa352b6337b31ebab796b604240a907e9"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_thread_max_set" ref="gaa352b6337b31ebab796b604240a907e9" args="(apr_thread_pool_t *me, apr_size_t cnt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_thread_max_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>cnt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the maximum number of threads. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">cnt</td><td>Number of threads </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The original maximum number of threads </dd></dl>

</div>
</div>
<a class="anchor" id="ga9a2642a5a61df9560da438e818d5fad3"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threads_count" ref="ga9a2642a5a61df9560da438e818d5fad3" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_threads_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current number of threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Total number of threads </dd></dl>

</div>
</div>
<a class="anchor" id="gab6dcdaa6129caf35fa370e694a67ff08"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threads_high_count" ref="gab6dcdaa6129caf35fa370e694a67ff08" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_threads_high_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get high water mark of the number of threads </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>High water mark of threads in thread pool </dd></dl>

</div>
</div>
<a class="anchor" id="gafcf0a761a77b2a27fc043d650606c122"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threads_idle_timeout_count" ref="gafcf0a761a77b2a27fc043d650606c122" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t 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#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the number of idle threads that were destroyed after timing out </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of idle threads that timed out </dd></dl>

</div>
</div>
<a class="anchor" id="ga38f4ad8e384cde0e9d32867031c7a935"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threshold_get" ref="ga38f4ad8e384cde0e9d32867031c7a935" args="(apr_thread_pool_t *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_threshold_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the threshold of tasks in queue to trigger a new thread. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current threshold </dd></dl>

</div>
</div>
<a class="anchor" id="ga1c35f1bd809dde4300f4a3f77026f446"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_threshold_set" ref="ga1c35f1bd809dde4300f4a3f77026f446" args="(apr_thread_pool_t *me, apr_size_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_size_t apr_thread_pool_threshold_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Access function for the threshold of tasks in queue to trigger a new thread. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">cnt</td><td>The new threshold </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The original threshold </dd></dl>

</div>
</div>
<a class="anchor" id="ga9acb6218820184f0617eecf56f0d3d84"></a><!-- doxytag: member="apr_thread_pool.h::apr_thread_pool_top" ref="ga9acb6218820184f0617eecf56f0d3d84" args="(apr_thread_pool_t *me, apr_thread_start_t func, void *param, apr_byte_t priority, void *owner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_thread_pool_top </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *&#160;</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__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_byte_t&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>owner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Schedule a task to the top of the tasks of same priority. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">me</td><td>The thread pool </td></tr>
    <tr><td class="paramname">func</td><td>The task function </td></tr>
    <tr><td class="paramname">param</td><td>The parameter for the task function </td></tr>
    <tr><td class="paramname">priority</td><td>The priority of the task. </td></tr>
    <tr><td class="paramname">owner</td><td>Owner of this task. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>APR_SUCCESS if the task had been scheduled successfully </dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for Apache Portable Runtime by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>