mirror of
https://github.com/php/php-src.git
synced 2025-01-22 11:44:09 +08:00
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:
parent
f67e7f4947
commit
1033af1cb3
@ -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();
|
||||
}
|
||||
/* }}} */
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user