summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-04-11 02:22:00 +0400
committerDmitry Stogov <dmitry@zend.com>2014-04-11 02:22:00 +0400
commit91ed685e26e0f2e6501ac3c7b49199080bfc47f0 (patch)
tree669fb415221836321738e62c58d74f5984f4d4c0
parent98350cdceaca6eb16c32903e07486568f54b380d (diff)
downloadphp-git-91ed685e26e0f2e6501ac3c7b49199080bfc47f0.tar.gz
Close all files and resources before before destroying object storage, because resources may point to objects. (THIS CHANGE MAY BE DANGEROUS)
-rw-r--r--Zend/zend_compile.c1
-rw-r--r--Zend/zend_execute_API.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 50aff60f1a..fa50a731c4 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -251,7 +251,6 @@ void shutdown_compiler(TSRMLS_D) /* {{{ */
zend_stack_destroy(&CG(declare_stack));
zend_stack_destroy(&CG(list_stack));
zend_hash_destroy(&CG(filenames_table));
- zend_llist_destroy(&CG(open_files));
zend_hash_destroy(&CG(const_filenames));
zend_stack_destroy(&CG(context_stack));
}
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index cf321398f8..2ae2bff70e 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -313,6 +313,14 @@ void shutdown_executor(TSRMLS_D) /* {{{ */
} zend_end_try();
zend_try {
+ zend_llist_destroy(&CG(open_files));
+ } zend_end_try();
+
+ zend_try {
+ zend_close_rsrc_list(&EG(regular_list) TSRMLS_CC);
+ } zend_end_try();
+
+ zend_try {
zend_objects_store_free_object_storage(&EG(objects_store) TSRMLS_CC);
zend_vm_stack_destroy(TSRMLS_C);