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