summaryrefslogtreecommitdiff
path: root/Zend/zend_alloc.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-09-20 12:12:42 +0000
committerDmitry Stogov <dmitry@php.net>2010-09-20 12:12:42 +0000
commitc2a92f3d27d2bcd135671582fa3c98741ba5a500 (patch)
treeb0f82bcf2543c27168533f8a7a723c44f5936064 /Zend/zend_alloc.c
parentbd8f3908c453af3ef2e0ece98176914f7986ddd7 (diff)
downloadphp-git-c2a92f3d27d2bcd135671582fa3c98741ba5a500.tar.gz
Fixed bug #52888 (Zend MM shutdown crash)
Diffstat (limited to 'Zend/zend_alloc.c')
-rw-r--r--Zend/zend_alloc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index a7983b7126..d89cd247a9 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -1649,6 +1649,7 @@ ZEND_API void zend_mm_shutdown(zend_mm_heap *heap, int full_shutdown, int silent
}
} else {
if (segment) {
+#ifndef ZEND_WIN32
if (heap->reserve_size) {
while (segment->next_segment) {
prev = segment;
@@ -1657,13 +1658,16 @@ ZEND_API void zend_mm_shutdown(zend_mm_heap *heap, int full_shutdown, int silent
}
heap->segments_list = segment;
} else {
+#endif
do {
prev = segment;
segment = segment->next_segment;
ZEND_MM_STORAGE_FREE(prev);
} while (segment);
heap->segments_list = NULL;
+#ifndef ZEND_WIN32
}
+#endif
}
if (heap->compact_size &&
heap->real_peak > heap->compact_size) {