From: Andi Gutmans Date: Tue, 19 Jun 2001 17:59:07 +0000 (+0000) Subject: - Fix memory fragmention problem which could lead to web server processes X-Git-Tag: PRE_GRANULAR_GARBAGE_FIX~33 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34e0c392e8c74425204915e7fe15a5c7790e747e;p=php - Fix memory fragmention problem which could lead to web server processes growing much more than they should. (bug #11344?) --- diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index 36945d5ed8..04e7ce517c 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -403,6 +403,7 @@ ZEND_API void start_memory_manager(ALS_D) memset(AG(fast_cache_list_head), 0, sizeof(AG(fast_cache_list_head))); memset(AG(cache_count), 0, sizeof(AG(cache_count))); +#if 0 #ifndef ZTS /* Initialize cache, to prevent fragmentation */ /* We can't do this in ZTS mode, because calling emalloc() from within start_memory_manager() @@ -419,6 +420,7 @@ ZEND_API void start_memory_manager(ALS_D) } } #endif +#endif #if ZEND_DEBUG memset(AG(cache_stats), 0, sizeof(AG(cache_stats))); @@ -447,6 +449,19 @@ ZEND_API void shutdown_memory_manager(int silent, int clean_cache) AG(fast_cache_list_head)[fci] = NULL; } + if (1 || clean_cache) { + zend_mem_header *ptr; + + for (i=1; i