zend_fast_cache_list_entry *fast_cache_list_entry, *next_fast_cache_list_entry;
#ifdef ZEND_MM
- zend_mm_shutdown(&AG(mm_heap));
- return;
+ if (clean_cache) {
+ zend_mm_shutdown(&AG(mm_heap));
+ return;
+ }
#elif defined(ZEND_WIN32) && !ZEND_DEBUG
if (clean_cache && AG(memory_heap)) {
HeapDestroy(AG(memory_heap));
if (!segment) {
return 1;
}
+/* fprintf(stderr, "Allocating segment %X\n", segment); */
segment->next_segment = heap->segments_list;
heap->segments_list = segment;
while (segment) {
prev = segment;
segment = segment->next_segment;
+/* fprintf(stderr, "Freeing segment %X\n", prev);*/
free(prev);
}
+ heap->segments_list = NULL;
}
void *zend_mm_alloc(zend_mm_heap *heap, size_t size)