jani Wed May 13 00:45:57 2009 UTC Added files: /php-src/ext/date config0.m4
Removed files: /php-src/ext/date config.m4 Modified files: /ZendEngine2 zend.c /php-src/build order_by_dep.awk /php-src/ext/date php_date.c Log: - Fixed bug #48247 (PHP crashes on errors during startup) # # This was sum of many little things: # 1. Wrong assumption made in order_by_dep.awk on the ordering # (that script was done prior to adding runtime deps..?) # 2. request shutdown calls weren't done in reverse order like all other # shutdown funcs are called. # 3. config0.m4 rename is necessary for keeping things simple. # http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.c?r1=1.432&r2=1.433&diff_format=u Index: ZendEngine2/zend.c diff -u ZendEngine2/zend.c:1.432 ZendEngine2/zend.c:1.433 --- ZendEngine2/zend.c:1.432 Thu Mar 26 20:01:37 2009 +++ ZendEngine2/zend.c Wed May 13 00:45:57 2009 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend.c,v 1.432 2009/03/26 20:01:37 felipe Exp $ */ +/* $Id: zend.c,v 1.433 2009/05/13 00:45:57 jani Exp $ */ #include "zend.h" #include "zend_extensions.h" @@ -1418,7 +1418,7 @@ 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(); } /* }}} */ http://cvs.php.net/viewvc.cgi/php-src/build/order_by_dep.awk?r1=1.1&r2=1.2&diff_format=u Index: php-src/build/order_by_dep.awk diff -u php-src/build/order_by_dep.awk:1.1 php-src/build/order_by_dep.awk:1.2 --- php-src/build/order_by_dep.awk:1.1 Sun Jul 18 12:03:51 2004 +++ php-src/build/order_by_dep.awk Wed May 13 00:45:57 2009 @@ -79,8 +79,7 @@ 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); } http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.230&r2=1.231&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.230 php-src/ext/date/php_date.c:1.231 --- php-src/ext/date/php_date.c:1.230 Tue May 5 12:34:03 2009 +++ php-src/ext/date/php_date.c Wed May 13 00:45:57 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.230 2009/05/05 12:34:03 iliaa Exp $ */ +/* $Id: php_date.c,v 1.231 2009/05/13 00:45:57 jani Exp $ */ #define _ISOC9X_SOURCE @@ -570,17 +570,11 @@ 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 */ http://cvs.php.net/viewvc.cgi/php-src/ext/date/config0.m4?view=markup&rev=1.1 Index: php-src/ext/date/config0.m4 +++ php-src/ext/date/config0.m4 dnl $Id: config0.m4,v 1.1 2009/05/13 00:45:57 jani Exp $ dnl config.m4 for date extension sinclude(ext/date/lib/timelib.m4) sinclude(lib/timelib.m4) PHP_DATE_CFLAGS="-...@ext_builddir@/lib" timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" PHP_NEW_EXTENSION(date, php_date.c $timelib_sources, no,, $PHP_DATE_CFLAGS) PHP_ADD_BUILD_DIR([$ext_builddir/lib], 1) PHP_ADD_INCLUDE([$ext_builddir/lib]) PHP_ADD_INCLUDE([$ext_srcdir/lib]) PHP_INSTALL_HEADERS([ext/date], [php_date.h lib/timelib.h lib/timelib_structs.h lib/timelib_config.h]) cat > $ext_builddir/lib/timelib_config.h <<EOF #ifdef PHP_WIN32 # include "config.w32.h" #else # include <php_config.h> #endif EOF -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php