apr/Register-the-pool-debug-log-cleanup-handler-after-em.patch
2020-06-30 17:26:36 +08:00

51 lines
2.0 KiB
Diff

From dfce87282409fcb9ca012bcc2db0061183bf91c8 Mon Sep 17 00:00:00 2001
From: Rainer Jung <rjung@apache.org>
Date: Wed, 17 Jul 2019 11:32:12 +0000
Subject: [PATCH] Register the pool debug log cleanup handler after emitting
the global pool creation event. This ensures that the allocation event from
the cleanup registration written after the creation event.
Backport of r1675982 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1863204 13f79535-47bb-0310-9956-ffa450edef68
---
memory/unix/apr_pools.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
index eb173c8..a59d9da 100644
--- a/memory/unix/apr_pools.c
+++ b/memory/unix/apr_pools.c
@@ -1712,13 +1712,6 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
file_stderr = debug_log;
if (file_stderr) {
- /* Add a cleanup handler that sets the debug log file handle
- * to NULL, otherwise we'll try to log the global pool
- * destruction event with predictably disastrous results. */
- apr_pool_cleanup_register(global_pool, NULL,
- apr_pool_cleanup_file_stderr,
- apr_pool_cleanup_null);
-
apr_file_printf(file_stderr,
"POOL DEBUG: [PID"
#if APR_HAS_THREADS
@@ -1728,6 +1721,13 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
"POOL \"TAG\" <__FILE__:__LINE__> (ALLOCS/TOTAL ALLOCS/CLEARS)\n");
apr_pool_log_event(global_pool, "GLOBAL", __FILE__ ":apr_pool_initialize", 0);
+
+ /* Add a cleanup handler that sets the debug log file handle
+ * to NULL, otherwise we'll try to log the global pool
+ * destruction event with predictably disastrous results. */
+ apr_pool_cleanup_register(global_pool, NULL,
+ apr_pool_cleanup_file_stderr,
+ apr_pool_cleanup_null);
}
#endif /* (APR_POOL_DEBUG & APR_POOL_DEBUG_VERBOSE_ALL) */
--
1.8.3.1