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.

Thanks. Dmitry.

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


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to