summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-04-17 12:37:51 +0200
committerNikita Popov <nikic@php.net>2015-04-18 17:31:11 +0200
commitaef96d5169111db7e17f06ff6b13d56cd980cb8c (patch)
tree5b6da35be905bfe9b887d1336b31e155900cac68 /Zend/zend_execute_API.c
parentf616a6f1ebf7ec8ece54022791f078bea8a1e973 (diff)
downloadphp-git-aef96d5169111db7e17f06ff6b13d56cd980cb8c.tar.gz
Partially enable leak reports for objects
Cycle leaks are currently not reported, because this needs further work. The last GC run has been moved to run earlier (before the object store free), so that array cycles that hold references to objects don't show up as leaks. Fingers crossed that this doesn't adversely affect anything else.
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index ac9f4b1c5c..37a27150e5 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -331,6 +331,12 @@ void shutdown_executor(void) /* {{{ */
zend_close_rsrc_list(&EG(regular_list));
} zend_end_try();
+#if ZEND_DEBUG
+ if (GC_G(gc_enabled) && !CG(unclean_shutdown)) {
+ gc_collect_cycles();
+ }
+#endif
+
zend_try {
zend_objects_store_free_object_storage(&EG(objects_store));