diff options
author | Dmitry Stogov <dmitry@php.net> | 2006-03-17 08:34:16 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2006-03-17 08:34:16 +0000 |
commit | c31c984365dcd9147b98d0f7e7415c6504e5144c (patch) | |
tree | 6b3cea24e60ca5ef60b645a0dd26ae7c152fe528 | |
parent | 6fd71dbbe922b46d49ee7b2843c273ab02a6fcac (diff) | |
download | php-git-c31c984365dcd9147b98d0f7e7415c6504e5144c.tar.gz |
Optimization of module unloading (temporary modules can be only in the end)
-rw-r--r-- | Zend/zend.c | 2 | ||||
-rw-r--r-- | Zend/zend_API.c | 6 |
2 files changed, 2 insertions, 6 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index fe009ffd7c..bab26af0d6 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -877,7 +877,7 @@ static int exec_done_cb(zend_module_entry *module TSRMLS_DC) void zend_post_deactivate_modules(TSRMLS_D) { zend_hash_apply(&module_registry, (apply_func_t) exec_done_cb TSRMLS_CC); - zend_hash_apply(&module_registry, (apply_func_t) module_registry_unload_temp TSRMLS_CC); + zend_hash_reverse_apply(&module_registry, (apply_func_t) module_registry_unload_temp TSRMLS_CC); } diff --git a/Zend/zend_API.c b/Zend/zend_API.c index b6c034a668..106f493440 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1855,11 +1855,7 @@ int module_registry_cleanup(zend_module_entry *module TSRMLS_DC) int module_registry_unload_temp(zend_module_entry *module TSRMLS_DC) { - switch (module->type) { - case MODULE_TEMPORARY: - return 1; - } - return 0; + return (module->type == MODULE_TEMPORARY) ? ZEND_HASH_APPLY_REMOVE : ZEND_HASH_APPLY_STOP; } |