MFH: Fixed module loading order and made request shutdown functions also to

be loaded in reverse like all other shutdowns are.
This commit is contained in:
Jani Taskinen 2009-05-13 18:48:20 +00:00
parent f67e7f4947
commit 1033af1cb3
4 changed files with 3 additions and 10 deletions

View File

@ -863,7 +863,7 @@ void zend_deactivate_modules(TSRMLS_D) /* {{{ */
EG(opline_ptr) = NULL; /* we're no longer executing anything */
zend_try {
zend_hash_apply(&module_registry, (apply_func_t) module_registry_cleanup TSRMLS_CC);
zend_hash_reverse_apply(&module_registry, (apply_func_t) module_registry_cleanup TSRMLS_CC);
} zend_end_try();
}
/* }}} */

View File

@ -79,8 +79,7 @@ END {
out_count = 0;
while (count(mods)) {
# count down, since we need to assemble it in reverse order
for (i = mod_count-1; i >= 0; --i) {
for (i = 0; i <= mod_count; i++) {
if (i in mods) {
do_deps(i);
}

View File

@ -563,17 +563,11 @@ static HashTable *date_object_get_properties_interval(zval *object TSRMLS_DC);
zval *date_interval_read_property(zval *object, zval *member, int type TSRMLS_DC);
void date_interval_write_property(zval *object, zval *member, zval *value TSRMLS_DC);
/* This is need to ensure that session extension request shutdown occurs 1st, because it uses the date extension */
static const zend_module_dep date_deps[] = {
ZEND_MOD_OPTIONAL("session")
{NULL, NULL, NULL}
};
/* {{{ Module struct */
zend_module_entry date_module_entry = {
STANDARD_MODULE_HEADER_EX,
NULL,
date_deps,
NULL,
"date", /* extension name */
date_functions, /* function list */
PHP_MINIT(date), /* process startup */