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

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



Reply via email to