Re: cvs: php4 /ext/standard basic_functions.c var.c /main
| From: | Zeev Suraski | Date: | Fri, 04 Oct 2002 17:15:22 +0000 |
| Subject: | Re: cvs: php4 /ext/standard basic_functions.c var.c /main | ||
| References: | 1 2 3 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-14530@lists.php.net to get a copy of this message | ||
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?
implicit_flush should have NOTHING, NOT A THING to do with output buffering that's done by PHP. Hence, these calls are BOGUS.Why is it necessary to explicitly disable output in all of the places where you added set_status() calls??To prevent implicit_flushing.
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