Re: svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/zend_API.c trunk/Zend/zend_API.c

From: Date: Thu, 31 Mar 2011 23:47:07 +0000
Subject: Re: svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/zend_API.c trunk/Zend/zend_API.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-64782@lists.php.net to get a copy of this message
Hi Tony, This commit breaks the build, see: http://windows.php.net/downloads/snaps/trunk-ts-windows-vc9-x86/logs/r309857/compile.txt Not sure yet why it fails. Does it work for you? On Thu, Mar 31, 2011 at 1:59 PM, Antony Dovgal <tony2001@php.net> wrote: > tony2001                                 Thu, 31 Mar 2011 11:59:34 +0000 > > Revision: > http://svn.php.net/viewvc?view=revision&revision=309853 > > Log: > fix bug #54423 (classes from dl()'ed extensions are not destroyed) > > Bug: http://bugs.php.net/54423 (Closed) classes from > dl()'ed extensions are not destroyed > > Changed paths: >    U   php/php-src/branches/PHP_5_3/NEWS >    U   php/php-src/branches/PHP_5_3/Zend/zend_API.c >    U   php/php-src/trunk/Zend/zend_API.c > > Modified: php/php-src/branches/PHP_5_3/NEWS > =================================================================== > --- php/php-src/branches/PHP_5_3/NEWS   2011-03-31 09:00:14 UTC (rev 309852) > +++ php/php-src/branches/PHP_5_3/NEWS   2011-03-31 11:59:34 UTC (rev 309853) > @@ -2,6 +2,8 @@ >  ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| >  ?? ??? 2011, PHP 5.3.7 >  - Zend Engine: > +  . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). > +    (Tony, Dmitry) >   . Fixed bug #54262 (Crash when assigning value to a dimension in a non-array). >     (Dmitry) > > > Modified: php/php-src/branches/PHP_5_3/Zend/zend_API.c > =================================================================== > --- php/php-src/branches/PHP_5_3/Zend/zend_API.c        2011-03-31 09:00:14 UTC (rev > 309852) > +++ php/php-src/branches/PHP_5_3/Zend/zend_API.c        2011-03-31 11:59:34 UTC (rev > 309853) > @@ -2082,6 +2082,22 @@ >  } >  /* }}} */ > > +static int clean_module_class(const zend_class_entry **ce, int *module_number TSRMLS_DC) /* > {{{ */ > +{ > +       if ((*ce)->type == ZEND_INTERNAL_CLASS && > (*ce)->module->module_number == *module_number) { > +               return ZEND_HASH_APPLY_REMOVE; > +       } else { > +               return ZEND_HASH_APPLY_KEEP; > +       } > +} > +/* }}} */ > + > +static void clean_module_classes(int module_number TSRMLS_DC) /* {{{ */ > +{ > +       zend_hash_apply_with_argument(EG(class_table), (apply_func_arg_t) > clean_module_class, (void *) &module_number TSRMLS_CC); > +} > +/* }}} */ > + >  void module_destructor(zend_module_entry *module) /* {{{ */ >  { >        TSRMLS_FETCH(); > @@ -2089,6 +2105,7 @@ >        if (module->type == MODULE_TEMPORARY) { >                zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC); >                clean_module_constants(module->module_number TSRMLS_CC); > +               clean_module_classes(module->module_number TSRMLS_CC); >        } > >        if (module->module_started && module->module_shutdown_func) { > > Modified: php/php-src/trunk/Zend/zend_API.c > =================================================================== > --- php/php-src/trunk/Zend/zend_API.c   2011-03-31 09:00:14 UTC (rev 309852) > +++ php/php-src/trunk/Zend/zend_API.c   2011-03-31 11:59:34 UTC (rev 309853) > @@ -2208,6 +2208,22 @@ >  } >  /* }}} */ > > +static int clean_module_class(const zend_class_entry **ce, int *module_number TSRMLS_DC) /* > {{{ */ > +{ > +       if ((*ce)->type == ZEND_INTERNAL_CLASS && > (*ce)->module->module_number == *module_number) { > +               return ZEND_HASH_APPLY_REMOVE; > +       } else { > +               return ZEND_HASH_APPLY_KEEP; > +       } > +} > +/* }}} */ > + > +static void clean_module_classes(int module_number TSRMLS_DC) /* {{{ */ > +{ > +       zend_hash_apply_with_argument(EG(class_table), (apply_func_arg_t) > clean_module_class, (void *) &module_number TSRMLS_CC); > +} > +/* }}} */ > + >  void module_destructor(zend_module_entry *module) /* {{{ */ >  { >        TSRMLS_FETCH(); > @@ -2215,6 +2231,7 @@ >        if (module->type == MODULE_TEMPORARY) { >                zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC); >                clean_module_constants(module->module_number TSRMLS_CC); > +               clean_module_classes(module->module_number TSRMLS_CC); >        } > >        if (module->module_started && module->module_shutdown_func) { > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org

« previous php.cvs (#64782) next »