JezK
Edit File: apr__pools_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/> <meta name="generator" content="Doxygen 1.9.4"/> <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 id="projectrow"> <td id="projectalign"> <div id="projectname">Apache Portable Runtime </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.9.4 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search",'Search','.html'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */ </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="#aapr__pools_8h" alt=""/></div> </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="#aapr__pools_8hdep" alt=""/></div> </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 id="define-members" 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 id="typedef-members" 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 id="func-members" 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:gae69ad400ad7ff13da35a1158be84b552"><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#gae69ad400ad7ff13da35a1158be84b552">apr_pool_allocator_get</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gae69ad400ad7ff13da35a1158be84b552"><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:ga77206d09e483520cf67a77605d6c7699"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga77206d09e483520cf67a77605d6c7699">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:ga77206d09e483520cf67a77605d6c7699"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf5b841f69d36041c8414ab4b4db1cec8"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#gaf5b841f69d36041c8414ab4b4db1cec8">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:gaf5b841f69d36041c8414ab4b4db1cec8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga375b2bfe738fc6a01cfe9b4b5d37e400"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga375b2bfe738fc6a01cfe9b4b5d37e400">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:ga375b2bfe738fc6a01cfe9b4b5d37e400"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga323a79d3f7992f1f2f848acff81b3402"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__pools.html#ga323a79d3f7992f1f2f848acff81b3402">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:ga323a79d3f7992f1f2f848acff81b3402"><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:gaf74401de335c66f40ab13f2821fb547a"><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#gaf74401de335c66f40ab13f2821fb547a">apr_pool_parent_get</a> (<a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr> <tr class="separator:gaf74401de335c66f40ab13f2821fb547a"><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:ga8f8b8451478c53bdca36b1133b9906dd"><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#ga8f8b8451478c53bdca36b1133b9906dd">apr_pool_find</a> (const void *mem)</td></tr> <tr class="separator:ga8f8b8451478c53bdca36b1133b9906dd"><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" name="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="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4 </small></address> </body> </html>