httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joachim Zobel <jzo...@heute-morgen.de>
Subject Re: ap_core_output_filter returns APR_SUCCESS on error
Date Sat, 26 Aug 2006 12:29:04 GMT
Am Freitag, den 25.08.2006, 23:22 +0200 schrieb Ruediger Pluem:
> c->aborted is set to 1 in this case. Just check for it once you return from ap_pass_brigade.

Thx. For the convienience of those who google:

  	rv = ap_pass_brigade(f->next, sctx->bb) ;
	if (rv != APR_SUCCESS
	  || f->c->aborted) {
	  return rv;
	}

is what I do for now.

I just found the header (in 2.2.2) for ap_pass_brigade says:

 Pass the current bucket brigade down to the next filter on the filter
 stack.  The filter returns an apr_status_t value.  If the bottom-most 
 filter doesn't write to the network, then ::AP_NOBODY_WROTE is
 returned.

IMHO it is a bug if software does not behave as documented. How do we
fix this? Should ap_pass_brigade check c->aborted an adjust the filters
return accordingly? This is much preferable to having every filter do
what I do now.

Sincerely,
Joachim



Mime
View raw message