GME  13
svn_pools.h
Go to the documentation of this file.
00001 
00028 
00029 
00030 #ifndef SVN_POOLS_H
00031 #define SVN_POOLS_H
00032 
00033 #include "svn_types.h"
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif /* __cplusplus */
00038 
00039 
00040 
00041 /* Wrappers around APR pools, so we get debugging. */
00042 
00047 #define SVN_ALLOCATOR_RECOMMENDED_MAX_FREE (4096 * 1024)
00048 
00049 
00054 apr_pool_t *
00055 svn_pool_create_ex(apr_pool_t *parent_pool,
00056                    apr_allocator_t *allocator);
00057 
00058 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00059 apr_pool_t *
00060 svn_pool_create_ex_debug(apr_pool_t *parent_pool,
00061                          apr_allocator_t *allocator,
00062                          const char *file_line);
00063 
00064 #if APR_POOL_DEBUG
00065 #define svn_pool_create_ex(pool, allocator) \
00066 svn_pool_create_ex_debug(pool, allocator, APR_POOL__FILE_LINE__)
00067 
00068 #endif /* APR_POOL_DEBUG */
00069 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00070 
00071 
00073 #define svn_pool_create(parent_pool) svn_pool_create_ex(parent_pool, NULL)
00074 
00079 #define svn_pool_clear apr_pool_clear
00080 
00081 
00087 #define svn_pool_destroy apr_pool_destroy
00088 
00107 apr_allocator_t *
00108 svn_pool_create_allocator(svn_boolean_t thread_safe);
00109 
00110 #ifdef __cplusplus
00111 }
00112 #endif /* __cplusplus */
00113 
00114 #endif /* SVN_POOLS_H */