Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:4668 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 39134 invoked by uid 1010); 3 Oct 2003 23:05:03 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 38984 invoked from network); 3 Oct 2003 23:04:59 -0000 Received: from unknown (HELO mail.zend.com) (192.117.235.230) by pb1.pair.com with SMTP; 3 Oct 2003 23:04:59 -0000 Received: (qmail 3800 invoked from network); 3 Oct 2003 23:04:38 -0000 Received: from guardian.zend.office (HELO andi-laptop.zend.com) (10.1.1.4) by int.zend.com with SMTP; 3 Oct 2003 23:04:38 -0000 Message-ID: <5.1.0.14.2.20031004015936.03909140@127.0.0.1> X-Sender: andi@127.0.0.1 X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Sat, 04 Oct 2003 02:03:21 +0200 To: Moriyoshi Koizumi , php-internal Cc: , In-Reply-To: <20031003093224_Bj1Z6@at.wakwak.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: [PHP-DEV] Fix for bug #25543 From: andi@zend.com (Andi Gutmans) References: <20031003093224_Bj1Z6@at.wakwak.com> Hi, I don't like this patch because already the gc is a very sensitive mechanism and we're not allowed to collect too much or too little at any given time. Your patch can easily lead to too much being collected before previous zval's are freed which can lead to problems (this mechanism was refined a couple of times due to such problems). The only real solution I can see is to nuke the garbage completely. I already have a rough idea of how to do it but it requires quite a lot of work. BTW, I didn't quite understand the bug report 25543. It doesn't seem to be very well written (I know it's not you :) Andi At 09:32 AM 10/3/2003 +0900, Moriyoshi Koizumi wrote: >Hi, > >Attached is a fix for bug #25543 (Error in set_error_handler() definition), >which is caused by disordered scheduling of the garbage collection >(zend_clean_garbage()). > >With this patch I'm adding the following two inline functions, >zend_begin_atomic() and zend_end_atomic(), to prevent GC from being >performed at the right time. Calls to those functions are inserted >at the beginning / end of zend_fetch_dimension_address(), >zend_fetch_property_address(), and some other functions of the same kind. > >I'll commit these shortly if you don't see any problem. > >Regards, > >Moriyoshi > > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php