summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-10-03 20:06:21 +0000
committerAndi Gutmans <andi@php.net>1999-10-03 20:06:21 +0000
commit1c0f1364057691741ec316c7389b23f177a7a9c7 (patch)
tree31877d713849125c6a79d26c446634326107f68a /Zend/zend_execute_API.c
parentf114050fc812b759e44b96fff9819b0c5eb97c93 (diff)
downloadphp-git-1c0f1364057691741ec316c7389b23f177a7a9c7.tar.gz
- Hooray. This might actually work. (I hope)
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index c9f0abebee..4be3f58808 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -89,7 +89,6 @@ void init_executor(CLS_D ELS_DC)
EG(error_zval).refcount = 1;
EG(error_zval).is_ref=0;
EG(error_zval_ptr)=&EG(error_zval);
- EG(destroying_function_symbol_table) = 0;
zend_ptr_stack_init(&EG(arg_types_stack));
zend_stack_init(&EG(overloaded_objects_stack));
/* destroys stack frame, therefore makes core dumps worthless */
@@ -115,6 +114,7 @@ void init_executor(CLS_D ELS_DC)
zend_llist_apply(&zend_extensions, (void (*)(void *)) zend_extension_activator);
EG(opline_ptr) = NULL;
+ EG(garbage_ptr) = 0;
}
@@ -144,6 +144,10 @@ void shutdown_executor(ELS_D)
#if ZEND_DEBUG
signal(SIGSEGV, original_sigsegv_handler);
#endif
+ while (EG(garbage_ptr)--) {
+ zval_dtor(EG(garbage)[EG(garbage_ptr)]);
+ efree(EG(garbage)[EG(garbage_ptr)]);
+ }
}