Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39830 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 76329 invoked from network); 11 Aug 2008 12:45:12 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Aug 2008 12:45:12 -0000 Authentication-Results: pb1.pair.com header.from=helly@php.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=helly@php.net; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 85.214.94.56 as permitted sender) X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 85.214.94.56 aixcept.net Linux 2.6 Received: from [85.214.94.56] ([85.214.94.56:52704] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 99/18-30561-55430A84 for ; Mon, 11 Aug 2008 08:45:11 -0400 Received: from MBOERGER-ZRH (unknown [193.142.125.1]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by h1149922.serverkompetenz.net (Postfix) with ESMTP id 8CC4011EFC7; Mon, 11 Aug 2008 14:45:06 +0200 (CEST) Date: Mon, 11 Aug 2008 14:45:02 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <302695240.20080811144502@marcus-boerger.de> To: Dmitry Stogov , =?iso-8859-15?Q?Johannes_Schl=FCter?= , Christian Seiler , Felipe Pena CC: php-dev List In-Reply-To: <1446091491.20080811122357@marcus-boerger.de> References: <48886651.80407@gmx.net> <4889F43D.8030609@gmx.net> <4896B0B4.2090801@zend.com> <1217847553.4175.23.camel@goldfinger.johannes.nop> <875726149.20080808234837@marcus-boerger.de> <803831941.20080809003459@marcus-boerger.de> <1199358810.20080811005138@marcus-boerger.de> <489FFDA0.4080206@zend.com> <1446091491.20080811122357@marcus-boerger.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] [PATCH] Closures and reflection improvements From: helly@php.net (Marcus Boerger) Hello guys, all submitted now. Thanks everyone for their help and especially Christian for getting this started. marcus Monday, August 11, 2008, 12:23:57 PM, you wrote: > Hello Dmitry, > Monday, August 11, 2008, 10:51:44 AM, you wrote: >> Hi Marcus, >> I committed the ZE part of your patch with exception for >> zend_error(E_ERROR, "Cannot destroy active lambda function"); >> Catching this error may cause memory corruption and crash. > Alright, didn't see that immediately. >> Thanks. Dmitry. > Thanks marcus >> Marcus Boerger wrote: >>> Hello Johannes, Christian, Felipe, >>> >>> and here 5.3 and 6.0 versions that also have most memleaks fixed. >>> >>> marcus >>> >>> Saturday, August 9, 2008, 12:34:59 AM, you wrote: >>> >>>> Hello Christian, Johannes, >>> >>>> Friday, August 8, 2008, 11:48:37 PM, you wrote: >>> >>>>> Hello Christian, >>> >>>>> I updated your patch for 5.3 due to recent changes. It works pretty fine >>>>> for me. Care to test again, especially with your new tests? Note that test >>>>> ext/reflection/tests/closures_001.phpt does not work for me and I have no >>>>> clue why. Well, besides that obviously the closure class no longer has an >>>>> entry for __closure, so it is more a question of how to know when to add >>>>> this. Also, it appears you do not have a cvs account, or did I overlook >>>>> something? >>> >>>>> Modified patch attached, including the updated reflection tests. >>> >>>> Ok, it is actually easy to fix, we just check whether the thing is a >>>> closure and add the method manually, done. New patch attached. >>> >>>> Johannes, this also adresses the switch from E_ERROR to E_RECOVERABLE_ERROR >>>> for the closure handlers. >>> >>>> best regards >>>> marcus >>> >>>>> Monday, August 4, 2008, 12:59:13 PM, you wrote: >>> >>>>>> Christian, >>> >>>>>> On Mon, 2008-08-04 at 11:33 +0400, Dmitry Stogov wrote: >>>>>>>>> http://www.christian-seiler.de/temp/php/2008-07-24-reflection/reflection-closure-fixes-5.3.patch >>>>>>>>> >>>>>>>>> http://www.christian-seiler.de/temp/php/2008-07-24-reflection/reflection-closure-fixes-6.patch >>> >>>>>> without applying and testing the patch: >>> >>>>>> - zend_hash_apply_with_arguments(&ce->function_table TSRMLS_CC, >>>>>> (apply_func_args_t) _addmethod, 3, &ce, return_value, filter); >>>>>> + zend_hash_apply_with_arguments(&ce->function_table TSRMLS_CC, >>>>>> (apply_func_args_t) _addmethod, 3, &ce, return_value, filter, intern->obj); >>> >>>>>> that looks a bit strange, probably you want 4 instead of 3 now? >>> >>>>>> johannes >>> >>> >>> >>> >>> >>>>> Best regards, >>>>> Marcus >>> >>> >>> >>>> Best regards, >>>> Marcus >>> >>> >>> >>> Best regards, >>> Marcus >>> > Best regards, > Marcus Best regards, Marcus