Regarding flush_buffer, and the perpetual difficulty we have both
addressing its bugs and describing its behavior, I am inclined to
finally make the change described here:
http://marc.info/?t=105917762800001&r=1&w=2
Namely, that flush_buffer should only flush the main request buffer,
and not attempt to flush past filters, subrequests, etc. This change
is easy to make:
--- Request.pm (revision 3897)
+++ Request.pm (working copy)
@@ -1397,7 +1397,8 @@
if length $self->{request_buffer};
$self->{request_buffer} = '';
- if ( $self->{top_stack}->[STACK_BUFFER_IS_FLUSHABLE]
+ if ( $self->{aggressive_flush_buffer}
+ && $self->{top_stack}->[STACK_BUFFER_IS_FLUSHABLE]
&& $self->{top_stack}->[STACK_BUFFER] )
{
my $comp = $self->{top_stack}->[STACK_COMP];
It only breaks one current test, 'flush_filter' in 05-request.t. IOW,
flush_buffer will no longer work through filters.
Advantages of making this the official behavior:
* bugs like #38924 and #23535 go away (become "not a bug")
* we no longer have to try to make flush_buffer work "correctly" with
various other features
* we no longer have to contort ourselves trying to explain how
flush_buffer iteracts with filters, subrequests, etc. etc.
Because this is a backward incompatibility, I would add an
'aggressive_flush_buffer' parameter that will make the old behavior
available for a time. But these users would be "on their own" in terms
of flush_buffer problems. I suspect that the vast majority of users
would not need to use this parameter.
Comments?
Jon
P.S. See the whole thread above - http://marc.info/?t=105917762800001&r=1&w=2
- for an informative and occasionally amusing look at flush_buffer,
clear_buffer and related problems.
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users