From 04788f9503000845949395a356fbb134ee142fcc Mon Sep 17 00:00:00 2001 From: Stig Bakken Date: Fri, 16 Aug 2002 00:41:37 +0000 Subject: @- Added set_exception_handler() function for registering a global, @ catch-all exception handling function (Stig) - Added set_exception_handler() function for registering a global, catch-all exception handling function (Stig) --- Zend/zend_execute_API.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Zend/zend_execute_API.c') diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index bb14adf93d..7f7d8bce89 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -158,6 +158,7 @@ void init_executor(TSRMLS_D) EG(user_error_handler) = NULL; zend_ptr_stack_init(&EG(user_error_handlers)); + zend_ptr_stack_init(&EG(user_exception_handlers)); EG(orig_error_reporting) = EG(error_reporting); zend_objects_store_init(&EG(objects_store), 1024); @@ -232,9 +233,17 @@ void shutdown_executor(TSRMLS_D) FREE_ZVAL(EG(user_error_handler)); } + if (EG(user_exception_handler)) { + zval_dtor(EG(user_exception_handler)); + FREE_ZVAL(EG(user_exception_handler)); + } + zend_ptr_stack_clean(&EG(user_error_handlers), ZVAL_DESTRUCTOR, 1); zend_ptr_stack_destroy(&EG(user_error_handlers)); + zend_ptr_stack_clean(&EG(user_exception_handlers), ZVAL_DESTRUCTOR, 1); + zend_ptr_stack_destroy(&EG(user_exception_handlers)); + EG(error_reporting) = EG(orig_error_reporting); zend_objects_store_destroy(&EG(objects_store)); } zend_end_try(); -- cgit v1.2.1