You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by mt...@apache.org on 2008/07/10 07:44:08 UTC
svn commit: r675448 - in /apr/apr/branches/1.3.x: CHANGES
include/apr_pools.h memory/unix/apr_pools.c
Author: mturk
Date: Wed Jul 9 22:44:08 2008
New Revision: 675448
URL: http://svn.apache.org/viewvc?rev=675448&view=rev
Log:
Backport r675117 from trunk
Modified:
apr/apr/branches/1.3.x/CHANGES
apr/apr/branches/1.3.x/include/apr_pools.h
apr/apr/branches/1.3.x/memory/unix/apr_pools.c
Modified: apr/apr/branches/1.3.x/CHANGES
URL: http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?rev=675448&r1=675447&r2=675448&view=diff
==============================================================================
--- apr/apr/branches/1.3.x/CHANGES [utf-8] (original)
+++ apr/apr/branches/1.3.x/CHANGES [utf-8] Wed Jul 9 22:44:08 2008
@@ -1,6 +1,10 @@
-*- coding: utf-8 -*-
Changes for APR 1.3.3
+ *) Rename apr_pool_create_core to apr_pool_create_unmanaged and
+ deprecate the old API name. It better reflects the scope and usage
+ of this function. [Mladen Turk]
+
*) Use proper return code for fcntl-based apr_proc_mutex_trylock()
on platforms that return EACCES instead of EAGAIN when the lock
is already held (AIX, HP-UX).
Modified: apr/apr/branches/1.3.x/include/apr_pools.h
URL: http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/include/apr_pools.h?rev=675448&r1=675447&r2=675448&view=diff
==============================================================================
--- apr/apr/branches/1.3.x/include/apr_pools.h (original)
+++ apr/apr/branches/1.3.x/include/apr_pools.h Wed Jul 9 22:44:08 2008
@@ -190,14 +190,26 @@
/**
* Create a new pool.
+ * @deprecated @see apr_pool_create_unmanaged_ex.
+ */
+APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator);
+
+/**
+ * Create a new unmanaged pool.
* @param newpool The pool we have just created.
* @param abort_fn A function to use if the pool cannot allocate more memory.
* @param allocator The allocator to use with the new pool. If NULL the
* new allocator will be crated with newpool as owner.
+ * @remark Unmanaged pool is special pool that does not have parent pool
+ * and is NOT destroyed upon apr_terminate call.
+ * It must be explicitly destroyed by calling apr_pool_destroy,
+ * otherwise the memory will leek.
*/
-APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool,
- apr_abortfunc_t abort_fn,
- apr_allocator_t *allocator);
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator);
/**
* Debug version of apr_pool_create_ex.
@@ -229,20 +241,29 @@
/**
* Debug version of apr_pool_create_core_ex.
- * @param newpool @see apr_pool_create.
- * @param abort_fn @see apr_pool_create.
- * @param allocator @see apr_pool_create.
+ * @deprecated @see apr_pool_create_unmanaged_ex_debug.
+ */
+APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator,
+ const char *file_line);
+
+/**
+ * Debug version of apr_pool_create_unmanaged_ex.
+ * @param newpool @see apr_pool_create_unmanaged.
+ * @param abort_fn @see apr_pool_create_unmanaged.
+ * @param allocator @see apr_pool_create_unmanaged.
* @param file_line Where the function is called from.
* This is usually APR_POOL__FILE_LINE__.
* @remark Only available when APR_POOL_DEBUG is defined.
- * Call this directly if you have you apr_pool_create_core_ex
+ * Call this directly if you have you apr_pool_create_unmanaged_ex
* calls in a wrapper function and wish to override
* the file_line argument to reflect the caller of
* your wrapper function. If you do not have
* apr_pool_create_core_ex in a wrapper, trust the macro
* and don't call apr_pool_create_core_ex_debug directly.
*/
-APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool,
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool,
apr_abortfunc_t abort_fn,
apr_allocator_t *allocator,
const char *file_line);
@@ -251,6 +272,11 @@
#define apr_pool_create_core_ex(newpool, abort_fn, allocator) \
apr_pool_create_core_ex_debug(newpool, abort_fn, allocator, \
APR_POOL__FILE_LINE__)
+
+#define apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator) \
+ apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator, \
+ APR_POOL__FILE_LINE__)
+
#endif
/**
@@ -281,14 +307,20 @@
*/
#if defined(DOXYGEN)
APR_DECLARE(apr_status_t) apr_pool_create_core(apr_pool_t **newpool);
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged(apr_pool_t **newpool);
#else
#if APR_POOL_DEBUG
#define apr_pool_create_core(newpool) \
apr_pool_create_core_ex_debug(newpool, NULL, NULL, \
APR_POOL__FILE_LINE__)
+#define apr_pool_create_unmanaged(newpool) \
+ apr_pool_create_unmanaged_ex_debug(newpool, NULL, NULL, \
+ APR_POOL__FILE_LINE__)
#else
#define apr_pool_create_core(newpool) \
apr_pool_create_core_ex(newpool, NULL, NULL)
+#define apr_pool_create_unmanaged(newpool) \
+ apr_pool_create_unmanaged_ex(newpool, NULL, NULL)
#endif
#endif
Modified: apr/apr/branches/1.3.x/memory/unix/apr_pools.c
URL: http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/memory/unix/apr_pools.c?rev=675448&r1=675447&r2=675448&view=diff
==============================================================================
--- apr/apr/branches/1.3.x/memory/unix/apr_pools.c (original)
+++ apr/apr/branches/1.3.x/memory/unix/apr_pools.c Wed Jul 9 22:44:08 2008
@@ -907,10 +907,19 @@
return APR_SUCCESS;
}
+/* Deprecated. Renamed to apr_pool_create_unmanaged_ex
+ */
APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool,
apr_abortfunc_t abort_fn,
apr_allocator_t *allocator)
{
+ return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator);
+}
+
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator)
+{
apr_pool_t *pool;
apr_memnode_t *node;
apr_allocator_t *pool_allocator;
@@ -1731,6 +1740,15 @@
apr_allocator_t *allocator,
const char *file_line)
{
+ return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn, allocator,
+ file_line);
+}
+
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator,
+ const char *file_line)
+{
apr_pool_t *pool;
apr_allocator_t *pool_allocator;
@@ -2491,7 +2509,15 @@
apr_allocator_t *allocator,
const char *file_line)
{
- return apr_pool_create_core_ex(newpool, abort_fn, allocator);
+ return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator);
+}
+
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator,
+ const char *file_line)
+{
+ return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator);
}
#else /* APR_POOL_DEBUG */
@@ -2553,7 +2579,20 @@
apr_abortfunc_t abort_fn,
apr_allocator_t *allocator)
{
- return apr_pool_create_core_ex_debug(newpool, abort_fn,
+ return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn,
+ allocator, "undefined");
+}
+
+#undef apr_pool_create_unmanaged_ex
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator);
+
+APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
+ apr_abortfunc_t abort_fn,
+ apr_allocator_t *allocator)
+{
+ return apr_pool_create_unmanaged_ex_debug(newpool, abort_fn,
allocator, "undefined");
}