summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-03-15 23:46:29 +0000
committerWez Furlong <wez@php.net>2005-03-15 23:46:29 +0000
commit35b0b8de99ce7d759f24618715ec57ffd950d54e (patch)
treeec9876880063bcb744338229469f1693f8acc242 /Zend/zend_API.c
parent06667585b54983831c8175e04f900735e68c06db (diff)
downloadphp-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.c23
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;
}