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

Reply via email to