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

Reply via email to