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();
}
/* }}} */
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);
}
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 */