Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > 7c859c6f61469ed11e2ab179848b0178 > files > 175

libapr-util-devel-1.4.1-0.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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 Utility Library: 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.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<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>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </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 colspan="2"><h2>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&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOWEST</b>&nbsp;&nbsp;&nbsp;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&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOW</b>&nbsp;&nbsp;&nbsp;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&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_NORMAL</b>&nbsp;&nbsp;&nbsp;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&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGH</b>&nbsp;&nbsp;&nbsp;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&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGHEST</b>&nbsp;&nbsp;&nbsp;255</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" 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#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</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, apr_pool_t *pool)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</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">apr_status_t&nbsp;</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, apr_thread_start_t func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</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, apr_thread_start_t func, void *param, apr_interval_time_t time, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</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, apr_thread_start_t func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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">apr_interval_time_t&nbsp;</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, apr_interval_time_t timeout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_interval_time_t&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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">apr_status_t&nbsp;</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> (apr_thread_t *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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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 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>
  </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">apr_status_t 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> **&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>init_threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>max_threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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">apr_status_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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 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>
  </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> *&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 number of idle threads </p>
<dl><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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>cnt</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 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 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>
  </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">apr_interval_time_t 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> *&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 </p>
<dl><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>
  </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">apr_interval_time_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_interval_time_t&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. </p>
<dl><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>
  </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">apr_status_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_thread_start_t&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_byte_t&nbsp;</td>
          <td class="paramname"> <em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>owner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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">apr_status_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_thread_start_t&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_interval_time_t&nbsp;</td>
          <td class="paramname"> <em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>owner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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 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>
  </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">apr_status_t apr_thread_pool_task_owner_get </td>
          <td>(</td>
          <td class="paramtype">apr_thread_t *&nbsp;</td>
          <td class="paramname"> <em>thd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&nbsp;</td>
          <td class="paramname"> <em>owner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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">apr_status_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>owner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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 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>
  </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> *&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 </p>
<dl><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>
  </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> *&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 </p>
<dl><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>
  </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> *&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 number of threads </p>
<dl><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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>cnt</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 number of threads. </p>
<dl><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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td>
          <td>&nbsp;)&nbsp;</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 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>
  </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> *&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 </p>
<dl><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>
  </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> *&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 </p>
<dl><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>
  </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> *&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 threshold of tasks in queue to trigger a new thread. </p>
<dl><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>
  </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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>val</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 threshold of tasks in queue to trigger a new thread. </p>
<dl><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>
  </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">apr_status_t 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> *&nbsp;</td>
          <td class="paramname"> <em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_thread_start_t&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_byte_t&nbsp;</td>
          <td class="paramname"> <em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>owner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 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>
  </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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</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 style="text-align: right;"><small>Generated on Wed Feb 1 12:19:48 2012 for Apache Portable Runtime Utility Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>