⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apr__pools_8h.html

📁 apr函数库使用手册
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga18">apr_pool_parent_get</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga19">apr_pool_is_ancestor</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *a, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *b)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga20">apr_pool_tag</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool, const char *tag)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga21">apr_pool_userdata_set</a> (const void *data, const char *key, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga22">apr_pool_userdata_setn</a> (const void *data, const char *key, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga23">apr_pool_userdata_get</a> (void **data, const char *key, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga24">apr_pool_cleanup_register</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*plain_cleanup)(void *), <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*child_cleanup)(void *))</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga25">apr_pool_cleanup_kill</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *))</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga26">apr_pool_child_cleanup_set</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*plain_cleanup)(void *), <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*child_cleanup)(void *))</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga27">apr_pool_cleanup_run</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, void *data, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *))</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga28">apr_pool_cleanup_null</a> (void *data)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__pools.html#ga29">apr_pool_cleanup_for_exec</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___pool_debug.html#ga0">apr_pool_join</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *sub)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___pool_debug.html#ga1">apr_pool_find</a> (const void *mem)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>apr_size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___pool_debug.html#ga2">apr_pool_num_bytes</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, int recurse)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___pool_debug.html#ga3">apr_pool_lock</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool, int flag)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
APR memory allocation. 
<p>
Resource allocation routines...<p>
designed so that we don't have to keep track of EVERYTHING so that it can be explicitly freed later (a fundamentally unsound strategy --- particularly in the presence of die()).<p>
Instead, we maintain pools, and allocate items (both memory and I/O handlers) from the pools --- currently there are two, one for per transaction info, and one for config info. When a transaction is over, we can delete everything in the per-transaction apr_pool_t without fear, and without thinking too hard about it either.<hr><h2>Define Documentation</h2>
<a class="anchor" name="a0" doxytag="apr_pools.h::APR_WANT_MEMFUNC" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define APR_WANT_MEMFUNC&nbsp;&nbsp;&nbsp;/**&lt; for no good reason? */          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
for no good reason?     </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
<a href="../../../www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -