|
the place in the code where the particular function was called |
|
Pool debug levels
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | --------------------------------- | | | | | | | | x | General debug code enabled (useful in combination with --with-efence).
| | | | | | | x | | Verbose output on stderr (report CREATE, CLEAR, DESTROY).
| | | | x | | | | | Verbose output on stderr (report PALLOC, PCALLOC).
| | | | | | x | | | Lifetime checking. On each use of a pool, check its lifetime. If the pool is out of scope, abort(). In combination with the verbose flag above, it will output LIFE in such an event prior to aborting.
| | | | | x | | | | Pool owner checking. On each use of a pool, check if the current thread is the pools owner. If not, abort(). In combination with the verbose flag above, it will output OWNER in such an event prior to aborting. Use the debug function apr_pool_owner_set() to switch a pools ownership.
When no debug level was specified, assume general debug mode. If level 0 was specified, debugging is switched off |
|
Value: APR_DECLARE(apr_pool_t *) apr_##type##_pool_get \ (const apr_##type##_t *the##type) This standardized macro is used by opaque (APR) data types to return the apr_pool_t that is associated with the data type. APR_POOL_DECLARE_ACCESSOR() is used in a header file to declare the accessor function. A typical usage and result would be: APR_POOL_DECLARE_ACCESSOR(file); becomes: APR_DECLARE(apr_pool_t *) apr_file_pool_get(apr_file_t *ob);
|
|
Value: APR_DECLARE(apr_pool_t *) apr_##type##_pool_get \ (const apr_##type##_t *the##type) \ { return the##type->pool; } In the implementation, the APR_POOL_IMPLEMENT_ACCESSOR() is used to actually define the function. It assumes the field is named "pool". |
|
A function that is called when allocation fails. |
|
The fundamental pool type |
|
Allocate a block of memory from a pool
|
|
Debug version of apr_palloc
|
|
Allocate a block of memory from a pool and set all of the memory to 0
|
|
Debug version of apr_pcalloc
|
|
Get the abort function associated with the specified pool.
|
|
Set the function to be called when an allocation failure occurs.
|
|
Find the pools allocator
|
|
Replace the child cleanup of a previously registered cleanup
|
|
Run all of the child_cleanups, so that any unnecessary files are closed because we are about to exec a new program |
|
Remove a previously registered cleanup function
|
|
An empty cleanup function
|
|
Register a function to be called when a pool is cleared or destroyed
|
|
Run the specified cleanup function immediately and unregister it. Use data instead of the data that was registered with the cleanup.
|
|
Clear all memory in the pool and run all the cleanups. This also destroys all subpools.
|
|
Debug version of apr_pool_clear.
|
|
Create a new pool.
|
|
Create a new pool.
|
|
Debug version of apr_pool_create_ex.
|
|
Destroy the pool. This takes similar action as apr_pool_clear() and then frees all the memory.
|
|
Debug version of apr_pool_destroy.
|
|
Setup all of the internal structures required to use pools
|
|
Determine if pool a is an ancestor of pool b
|
|
Get the parent pool of the specified pool.
|
|
Tag a pool (give it a name)
|
|
Tear down all of the internal structures required to use pools
|
|
Return the data associated with the current pool.
|
|
Set the data associated with the current pool
|
|
Set the data associated with the current pool
|