Hi!

> This is just a thought; could we delay the call to
> `zend_call_destructors` ONLY IF there’s output buffering taking place
> (i.e. ob_get_level() > 0)?

That wouldn't help - imagine this:
1. ob_start is set
2. shutdown is starting
3. ob functions shut down, call function foo
4. function foo creates an object of class FooBar
5. ob shutdown ends, all output is flushed, etc.
6. FooBar::__destruct is run and tries to output something

That scenario still may have a problem. I'll check more into if it's
really a big deal outputting after OB shutdown (after all, some other
things may lead to it too) but conditioning dtor move does not solve
this problem. If it works this way we may as well move them there
permanently.
-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/

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

Reply via email to