At 18:00 03/10/2002, Yasuo Ohgaki wrote:
>Zeev Suraski wrote:
>OG(implicit_flush) != PG(implicit_flush)
That's a myth. What exactly do you think is the difference between
them? PG(implicit_flush) sets the value for OG(implicit_flush). It's
simply the cache value for the INI directive implicit_flush, whereas
OG(implicit_flush) is the de-facto value that the output layer uses.
Let's get this behind us:
From main.c, php_request_startup():
} else if (PG(implicit_flush)) {
php_start_implicit_flush(TSRMLS_C);
}
From output.c:
PHPAPI void php_start_implicit_flush(TSRMLS_D)
{
OG(implicit_flush)=1;
}
Come again, how different are these two?
>>Why is it necessary to explicitly disable output in all of the places
>>where you added set_status() calls??
>
>To prevent implicit_flushing.
implicit_flush should have NOTHING, NOT A THING to do with output buffering
that's done by PHP. Hence, these calls are BOGUS.
>As Derick noticed.
>
><?php var_exprot('var'); ?>
>
>prints out exported var w/o it.
Right, but only because of your patch that pays attention to implicit_flush
inside PHP's output buffering layer.
Please revert the patch! And *KEEP* it reverted. If there are still
bugs/crashes/issues once this bogus code is reverted, I volunteer to fix
it. (I'm not reverting it myself since in order for this to finally end, I
don't want yet another cycle of revert-recommit...)
Zeev
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php