From: Derick Rethans Date: Tue, 16 Mar 2004 22:27:26 +0000 (+0000) Subject: - Replaced the exec_finished hook by the zend_post_deactive hook for X-Git-Tag: php-5.0.0RC1RC2~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6535933f7cc2e8a33407df70a1a6d7d1d6b9d6ea;p=php - Replaced the exec_finished hook by the zend_post_deactive hook for extensions. The new hook will be run after the symbol table and destructors are run. (Derick) --- diff --git a/Zend/zend.c b/Zend/zend.c index 226c250083..81225381b4 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -816,14 +816,14 @@ void zend_deactivate(TSRMLS_D) static int exec_done_cb(zend_module_entry *module TSRMLS_DC) { - if (module->exec_finished_func) { - module->exec_finished_func(); + if (module->post_deactivate_func) { + module->post_deactivate_func(); } return 0; } -void zend_exec_finished(TSRMLS_D) +void zend_post_deactivate_modules(TSRMLS_D) { zend_hash_apply(&module_registry, (apply_func_t) exec_done_cb TSRMLS_CC); } diff --git a/Zend/zend.h b/Zend/zend.h index 0511f258dd..621f034aae 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -453,7 +453,7 @@ void zend_activate(TSRMLS_D); void zend_deactivate(TSRMLS_D); void zend_activate_modules(TSRMLS_D); void zend_deactivate_modules(TSRMLS_D); -void zend_exec_finished(TSRMLS_D); +void zend_post_deactivate_modules(TSRMLS_D); #if ZEND_DEBUG #define Z_DBG(expr) (expr) diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 9a1e85095a..faee34f5fb 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -72,7 +72,7 @@ typedef struct _zend_function_entry { #define ZEND_MODULE_SHUTDOWN_N(module) zm_shutdown_##module #define ZEND_MODULE_ACTIVATE_N(module) zm_activate_##module #define ZEND_MODULE_DEACTIVATE_N(module) zm_deactivate_##module -#define ZEND_MODULE_EXEC_FINISHED_N(module) zm_exec_finished_##module +#define ZEND_MODULE_POST_ZEND_DEACTIVATE_N(module) zm_post_zend_deactivate_##module #define ZEND_MODULE_INFO_N(module) zm_info_##module /* Declaration macros */ @@ -80,7 +80,7 @@ typedef struct _zend_function_entry { #define ZEND_MODULE_SHUTDOWN_D(module) int ZEND_MODULE_SHUTDOWN_N(module)(SHUTDOWN_FUNC_ARGS) #define ZEND_MODULE_ACTIVATE_D(module) int ZEND_MODULE_ACTIVATE_N(module)(INIT_FUNC_ARGS) #define ZEND_MODULE_DEACTIVATE_D(module) int ZEND_MODULE_DEACTIVATE_N(module)(SHUTDOWN_FUNC_ARGS) -#define ZEND_MODULE_EXEC_FINISHED_D(module) int ZEND_MODULE_EXEC_FINISHED_N(module)(void) +#define ZEND_MODULE_POST_ZEND_DEACTIVATE_D(module) int ZEND_MODULE_POST_ZEND_DEACTIVATE_N(module)(void) #define ZEND_MODULE_INFO_D(module) void ZEND_MODULE_INFO_N(module)(ZEND_MODULE_INFO_FUNC_ARGS) #define ZEND_GET_MODULE(name) \ diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index efcb3673ec..065a058900 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -74,7 +74,7 @@ struct _zend_module_entry { int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS); void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS); char *version; - int (*exec_finished_func)(void); + int (*post_deactivate_func)(void); int globals_id; int module_started; unsigned char type;