From 35b0b8de99ce7d759f24618715ec57ffd950d54e Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Tue, 15 Mar 2005 23:46:29 +0000 Subject: fix shutdown so that dl()'d modules are unloaded after all the dtors have been called. --- Zend/zend_API.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'Zend/zend_API.c') diff --git a/Zend/zend_API.c b/Zend/zend_API.c index a781e13f64..2ef3db744b 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1552,24 +1552,23 @@ int module_registry_request_startup(zend_module_entry *module TSRMLS_DC) } -/* for persistent modules - call request shutdown and flag NOT to erase - * for temporary modules - do nothing, and flag to erase - */ +/* call request shutdown for all modules */ int module_registry_cleanup(zend_module_entry *module TSRMLS_DC) { - switch (module->type) { - case MODULE_PERSISTENT: - if (module->request_shutdown_func) { + if (module->request_shutdown_func) { #if 0 - zend_printf("%s: Request shutdown\n", module->name); + zend_printf("%s: Request shutdown\n", module->name); #endif - module->request_shutdown_func(module->type, module->module_number TSRMLS_CC); - } - return 0; - break; + module->request_shutdown_func(module->type, module->module_number TSRMLS_CC); + } + return 0; +} + +int module_registry_unload_temp(zend_module_entry *module TSRMLS_DC) +{ + switch (module->type) { case MODULE_TEMPORARY: return 1; - break; } return 0; } -- cgit v1.2.1