summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2003-07-27 13:47:58 +0000
committerStanislav Malyshev <stas@php.net>2003-07-27 13:47:58 +0000
commit5bfd386bc344c456edfd7930c9b400bd386dfed0 (patch)
tree6a3103ceab0794e89fb7e900151a01e49f124984
parent9fa2d5231091889fce06a2e79b449484cfe2e8d6 (diff)
downloadphp-git-5bfd386bc344c456edfd7930c9b400bd386dfed0.tar.gz
make shutdown more granular so in case some dtor goes ape we still
can shut down cleanly
-rw-r--r--Zend/zend_execute_API.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 94f39435b9..767a72870b 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -209,7 +209,9 @@ void shutdown_executor(TSRMLS_D)
zend_llist_apply(&zend_extensions, (llist_apply_func_t) zend_extension_deactivator TSRMLS_CC);
zend_hash_destroy(&EG(symbol_table));
-
+ } zend_end_try();
+
+ zend_try {
/* Cleanup static data for functions and arrays.
We need separate cleanup stage because of the following problem:
Suppose we destroy class X, which destroys function table,