/
usr
/
share
/
doc
/
libapr1-dev
/
html
/
Upload File
HOME
<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Apache Portable Runtime: apr_pools.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Apache Portable Runtime </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">apr_pools.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>APR memory allocation. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="apr_8h_source.html">apr.h</a>"</code><br /> <code>#include "<a class="el" href="apr__errno_8h_source.html">apr_errno.h</a>"</code><br /> <code>#include "<a class="el" href="apr__general_8h_source.html">apr_general.h</a>"</code><br /> <code>#include "<a class="el" href="apr__want_8h_source.html">apr_want.h</a>"</code><br /> <code>#include "<a class="el" href="apr__allocator_8h_source.html">apr_allocator.h</a>"</code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for apr_pools.h:</div> <div class="dyncontent"> <div class="center"><img src="apr__pools_8h__incl.png" border="0" usemap="#apr__pools_8h" alt=""/></div> <!-- MAP 0 --> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="apr__pools_8h__dep__incl.png" border="0" usemap="#apr__pools_8hdep" alt=""/></div> <!-- MAP 1 --> </div> </div> <p><a href="apr__pools_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a26faf43e3f61783d8b7aa928c0a41a11"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="apr__pools_8h.html#a26faf43e3f61783d8b7aa928c0a41a11">APR_WANT_MEMFUNC</a></td></tr> <tr class="separator:a26faf43e3f61783d8b7aa928c0a41a11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga89ce1d55c7f0c39ea87c88eabd655394"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga89ce1d55c7f0c39ea87c88eabd655394">APR_POOL_DECLARE_ACCESSOR</a>(type)</td></tr> <tr class="separator:ga89ce1d55c7f0c39ea87c88eabd655394"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga43a8a52f68f8b7d3b7694c254da4a074"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga43a8a52f68f8b7d3b7694c254da4a074">APR_POOL_IMPLEMENT_ACCESSOR</a>(type)</td></tr> <tr class="separator:ga43a8a52f68f8b7d3b7694c254da4a074"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac81cff34d0ff4be52fa924663478eade"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gac81cff34d0ff4be52fa924663478eade">APR_POOL__FILE_LINE__</a>   __FILE__ ":" <a class="el" href="apr__version_8h.html#ae90215615972dfa4108018304361ef0b">APR_STRINGIFY</a>(__LINE__)</td></tr> <tr class="separator:gac81cff34d0ff4be52fa924663478eade"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gaf137f28edcf9a086cd6bc36c20d7cdfb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a></td></tr> <tr class="separator:gaf137f28edcf9a086cd6bc36c20d7cdfb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga370a939349adf6d1438068e2fc69a0dd"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a>) (int retcode)</td></tr> <tr class="separator:ga370a939349adf6d1438068e2fc69a0dd"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gad64a6a29515621bc13f8a8da50366d67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gad64a6a29515621bc13f8a8da50366d67">apr_pool_initialize</a> (void)</td></tr> <tr class="separator:gad64a6a29515621bc13f8a8da50366d67"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3728aacec227318cef973b8a33f3b430"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga3728aacec227318cef973b8a33f3b430">apr_pool_terminate</a> (void)</td></tr> <tr class="separator:ga3728aacec227318cef973b8a33f3b430"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab274bd29e4e4d4944b4618403148074f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gab274bd29e4e4d4944b4618403148074f">apr_pool_create_ex</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *parent, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</td></tr> <tr class="separator:gab274bd29e4e4d4944b4618403148074f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga20e514c83555398acddc30c4dfa0c540"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga20e514c83555398acddc30c4dfa0c540">apr_pool_create_core_ex</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</td></tr> <tr class="separator:ga20e514c83555398acddc30c4dfa0c540"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaae7212db77bb57f86419cd594f73a92f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaae7212db77bb57f86419cd594f73a92f">apr_pool_create_unmanaged_ex</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</td></tr> <tr class="separator:gaae7212db77bb57f86419cd594f73a92f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacbea97ae5c0c861f6b7c147d46ac1d0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gacbea97ae5c0c861f6b7c147d46ac1d0c">apr_pool_create_ex_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *parent, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator, const char *file_line)</td></tr> <tr class="separator:gacbea97ae5c0c861f6b7c147d46ac1d0c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa1c5bfc44188884bb439670f81448c20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaa1c5bfc44188884bb439670f81448c20">apr_pool_create_core_ex_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator, const char *file_line)</td></tr> <tr class="separator:gaa1c5bfc44188884bb439670f81448c20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae220e572b14355f1aa7b21c8fb022524"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gae220e572b14355f1aa7b21c8fb022524">apr_pool_create_unmanaged_ex_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abort_fn, <a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator, const char *file_line)</td></tr> <tr class="separator:gae220e572b14355f1aa7b21c8fb022524"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga918adf3026c894efeae254a0446aed3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga918adf3026c894efeae254a0446aed3b">apr_pool_create</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *parent)</td></tr> <tr class="separator:ga918adf3026c894efeae254a0446aed3b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad3675378924bc9d98e46258c049f1761"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gad3675378924bc9d98e46258c049f1761">apr_pool_create_core</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool)</td></tr> <tr class="separator:gad3675378924bc9d98e46258c049f1761"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga72f86d699b4b2ec2aeb82c334ca3446b"><td class="memItemLeft" align="right" valign="top"> <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><b>apr_pool_create_unmanaged</b> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> **newpool)</td></tr> <tr class="separator:ga72f86d699b4b2ec2aeb82c334ca3446b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf446fcf5da1fcd62d3f802a4c0c10f97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf446fcf5da1fcd62d3f802a4c0c10f97">apr_pool_allocator_get</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gaf446fcf5da1fcd62d3f802a4c0c10f97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafa8a998cd660e82b62aecec09e239d0d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gafa8a998cd660e82b62aecec09e239d0d">apr_pool_clear</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr> <tr class="separator:gafa8a998cd660e82b62aecec09e239d0d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9521870e42ec4395a0bf8388706a57b9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga9521870e42ec4395a0bf8388706a57b9">apr_pool_clear_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const char *file_line)</td></tr> <tr class="separator:ga9521870e42ec4395a0bf8388706a57b9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga54759954d2cba7cb649ab5680a33f9e3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga54759954d2cba7cb649ab5680a33f9e3">apr_pool_destroy</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr> <tr class="separator:ga54759954d2cba7cb649ab5680a33f9e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7efe64dfcce883d7fad9df813d9259fc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga7efe64dfcce883d7fad9df813d9259fc">apr_pool_destroy_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const char *file_line)</td></tr> <tr class="separator:ga7efe64dfcce883d7fad9df813d9259fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga85f1e193c31d109affda72f9a92c6915"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga85f1e193c31d109affda72f9a92c6915">apr_palloc</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, apr_size_t size)</td></tr> <tr class="separator:ga85f1e193c31d109affda72f9a92c6915"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0ac211ac89be868b107776b4183a8174"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga0ac211ac89be868b107776b4183a8174">apr_palloc_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, apr_size_t size, const char *file_line)</td></tr> <tr class="separator:ga0ac211ac89be868b107776b4183a8174"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf61c098ad258069d64cdf8c0a9369f9e"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf61c098ad258069d64cdf8c0a9369f9e">apr_pcalloc</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, apr_size_t size)</td></tr> <tr class="separator:gaf61c098ad258069d64cdf8c0a9369f9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7b43035318ffdc57a6eddab07dc57cb2"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga7b43035318ffdc57a6eddab07dc57cb2">apr_pcalloc_debug</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, apr_size_t size, const char *file_line)</td></tr> <tr class="separator:ga7b43035318ffdc57a6eddab07dc57cb2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa658b1f10dd13967eaa7c4156d4c2174"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaa658b1f10dd13967eaa7c4156d4c2174">apr_pool_abort_set</a> (<a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> abortfunc, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gaa658b1f10dd13967eaa7c4156d4c2174"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf7610c30ef5f84a8742c0b3e63fdd7b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__pools.html#ga370a939349adf6d1438068e2fc69a0dd">apr_abortfunc_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf7610c30ef5f84a8742c0b3e63fdd7b0">apr_pool_abort_get</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gaf7610c30ef5f84a8742c0b3e63fdd7b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga94db31f40609b15b592ff47f989ca9ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga94db31f40609b15b592ff47f989ca9ec">apr_pool_parent_get</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:ga94db31f40609b15b592ff47f989ca9ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga05d299f778659d1e0806140d8a7fea79"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga05d299f778659d1e0806140d8a7fea79">apr_pool_is_ancestor</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *a, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *b)</td></tr> <tr class="separator:ga05d299f778659d1e0806140d8a7fea79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeaa872f7999740a60803e95429890518"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaeaa872f7999740a60803e95429890518">apr_pool_tag</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool, const char *tag)</td></tr> <tr class="separator:gaeaa872f7999740a60803e95429890518"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga78d1aa2d9fa842d83eaffccb0f0c0c5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga78d1aa2d9fa842d83eaffccb0f0c0c5c">apr_pool_userdata_set</a> (const void *data, const char *key, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:ga78d1aa2d9fa842d83eaffccb0f0c0c5c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga435644c493dc5b10d80c4b99b8cd4589"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga435644c493dc5b10d80c4b99b8cd4589">apr_pool_userdata_setn</a> (const void *data, const char *key, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:ga435644c493dc5b10d80c4b99b8cd4589"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf930f1fad2cf92a2432c0814c8a0b86f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf930f1fad2cf92a2432c0814c8a0b86f">apr_pool_userdata_get</a> (void **data, const char *key, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gaf930f1fad2cf92a2432c0814c8a0b86f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6bdb28224dfe08160cbe3ba6b22dcbd7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#ga6bdb28224dfe08160cbe3ba6b22dcbd7">apr_pool_cleanup_register</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*plain_cleanup)(void *), <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*child_cleanup)(void *))</td></tr> <tr class="separator:ga6bdb28224dfe08160cbe3ba6b22dcbd7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga64114542989d8872c7fd3c62f2a68678"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#ga64114542989d8872c7fd3c62f2a68678">apr_pool_pre_cleanup_register</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*plain_cleanup)(void *))</td></tr> <tr class="separator:ga64114542989d8872c7fd3c62f2a68678"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadc59bf32a0302e34fa0a2663f6e48a44"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#gadc59bf32a0302e34fa0a2663f6e48a44">apr_pool_cleanup_kill</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*cleanup)(void *))</td></tr> <tr class="separator:gadc59bf32a0302e34fa0a2663f6e48a44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7197fa6b43d9c5e99de17e0e900989ea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#ga7197fa6b43d9c5e99de17e0e900989ea">apr_pool_child_cleanup_set</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const void *data, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*plain_cleanup)(void *), <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*child_cleanup)(void *))</td></tr> <tr class="separator:ga7197fa6b43d9c5e99de17e0e900989ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabf3913823af6015895a726ab738eaac5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#gabf3913823af6015895a726ab738eaac5">apr_pool_cleanup_run</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, void *data, <a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>(*cleanup)(void *))</td></tr> <tr class="separator:gabf3913823af6015895a726ab738eaac5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa211acee585df08f396a50b0ea489b02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#gaa211acee585df08f396a50b0ea489b02">apr_pool_cleanup_null</a> (void *data)</td></tr> <tr class="separator:gaa211acee585df08f396a50b0ea489b02"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1726cc585bda8997fcb0828f884be55b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_cleanup.html#ga1726cc585bda8997fcb0828f884be55b">apr_pool_cleanup_for_exec</a> (void)</td></tr> <tr class="separator:ga1726cc585bda8997fcb0828f884be55b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaecd956092f81c70117507ad8cbca8ea7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_debug.html#gaecd956092f81c70117507ad8cbca8ea7">apr_pool_join</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *sub)</td></tr> <tr class="separator:gaecd956092f81c70117507ad8cbca8ea7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0bc40d9069709020e3643492dae2ccb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_debug.html#ga0bc40d9069709020e3643492dae2ccb0">apr_pool_find</a> (const void *mem)</td></tr> <tr class="separator:ga0bc40d9069709020e3643492dae2ccb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga22462da23d70dfde389a370b131cd351"><td class="memItemLeft" align="right" valign="top">apr_size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_debug.html#ga22462da23d70dfde389a370b131cd351">apr_pool_num_bytes</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, int recurse)</td></tr> <tr class="separator:ga22462da23d70dfde389a370b131cd351"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga24f8f0287478fa71f77d0ce4ec035e4a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___pool_debug.html#ga24f8f0287478fa71f77d0ce4ec035e4a">apr_pool_lock</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool, int flag)</td></tr> <tr class="separator:ga24f8f0287478fa71f77d0ce4ec035e4a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>APR memory allocation. </p> <p>Resource allocation routines...</p> <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> <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.</p> <p>Note that most operations on pools are not thread-safe: a single pool should only be accessed by a single thread at any given time. The one exception to this rule is creating a subpool of a given pool: one or more threads can safely create subpools at the same time that another thread accesses the parent pool. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a26faf43e3f61783d8b7aa928c0a41a11"></a> <h2 class="memtitle"><span class="permalink"><a href="#a26faf43e3f61783d8b7aa928c0a41a11">◆ </a></span>APR_WANT_MEMFUNC</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_WANT_MEMFUNC</td> </tr> </table> </div><div class="memdoc"> <p>for no good reason? </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>