summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-01-31 19:18:07 +0000
committerZeev Suraski <zeev@php.net>2000-01-31 19:18:07 +0000
commitf2d3ce4170e734535185e2f1a7a1368e65622342 (patch)
tree2fc17e3cdd9b14aadd066bea00fed29d97fb0c2d /Zend/zend_execute_API.c
parent0517436bf94beb5c454fd8be1d73ef3efa01c0e5 (diff)
downloadphp-git-f2d3ce4170e734535185e2f1a7a1368e65622342.tar.gz
- Optimized garbage mechanism
- Fixed another buglet in the parser
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index b7c59ef64f..62b4cee1f6 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -146,8 +146,9 @@ void shutdown_executor(ELS_D)
signal(SIGSEGV, original_sigsegv_handler);
#endif
while (EG(garbage_ptr)--) {
- zval_dtor(EG(garbage)[EG(garbage_ptr)]);
- FREE_ZVAL(EG(garbage)[EG(garbage_ptr)]);
+ if (EG(garbage)[EG(garbage_ptr)]->refcount==1) {
+ zval_ptr_dtor(&EG(garbage)[EG(garbage_ptr)]);
+ }
}
zend_hash_destroy(&EG(imported_files));