]> granicus.if.org Git - php/commitdiff
Close all files and resources before before destroying object storage, because resour...
authorDmitry Stogov <dmitry@zend.com>
Thu, 10 Apr 2014 22:22:00 +0000 (02:22 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 10 Apr 2014 22:22:00 +0000 (02:22 +0400)
Zend/zend_compile.c
Zend/zend_execute_API.c

index 50aff60f1a03ee528a89da52a84d456ded8b796a..fa50a731c47aebe78e759ce53ba8116431c7ef35 100644 (file)
@@ -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));
 }
index cf321398f8ec160ca677e74932c5df7e0f605940..2ae2bff70e4d512109f5ecd75ca041ba98f10ec3 100644 (file)
@@ -312,6 +312,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);