]> granicus.if.org Git - php/commitdiff
Destroy the resource list after destroying the symbol table, otherwise the
authorZeev Suraski <zeev@php.net>
Mon, 12 Apr 1999 18:40:18 +0000 (18:40 +0000)
committerZeev Suraski <zeev@php.net>
Mon, 12 Apr 1999 18:40:18 +0000 (18:40 +0000)
auto-destructor for resources are run when the resource list is no longer valid

Zend/zend_compile.c
Zend/zend_execute_API.c

index f29c33f02405e13d549e470578dc1b2a1f98ebd7..5d16f370c10c391571ba08b16cd2c5185f51700d 100644 (file)
@@ -78,7 +78,6 @@ void shutdown_compiler(CLS_D)
        zend_llist_destroy(&CG(filenames_list));
        zend_hash_apply(CG(function_table), (int (*)(void *)) is_not_internal_function);
        zend_hash_apply(CG(class_table), (int (*)(void *)) is_not_internal_class);
-       destroy_resource_list();
        zend_hash_apply(&module_registry, (int (*)(void *)) module_registry_cleanup);
 }
 
index 1600be6e542f72f26bb4052ea9f9a31b781f51cf..a544597bfa82c96b147de6722357978e6a686f8f 100644 (file)
@@ -126,6 +126,8 @@ void shutdown_executor(ELS_D)
 
        zend_hash_destroy(&EG(symbol_table));
 
+       destroy_resource_list(); /* must be destroyed after the main symbol table is destroyed */
+
        zend_ptr_stack_destroy(&EG(argument_stack));
        if (EG(main_op_array)) {
                destroy_op_array(EG(main_op_array));