diff options
author | Wez Furlong <wez@php.net> | 2005-03-15 23:46:29 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-03-15 23:46:29 +0000 |
commit | 35b0b8de99ce7d759f24618715ec57ffd950d54e (patch) | |
tree | ec9876880063bcb744338229469f1693f8acc242 /Zend/zend_API.c | |
parent | 06667585b54983831c8175e04f900735e68c06db (diff) | |
download | php-git-35b0b8de99ce7d759f24618715ec57ffd950d54e.tar.gz |
fix shutdown so that dl()'d modules are unloaded after all the dtors have
been called.
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 23 |
1 files changed, 11 insertions, 12 deletions
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; } |