httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <jus...@erenkrantz.com>
Subject Re: svn commit: r360461 - in /httpd/httpd/trunk: CHANGES include/ap_mmn.h include/httpd.h server/protocol.c
Date Tue, 03 Jan 2006 16:07:48 GMT
On 1/3/06, Brian Pane <brianp@apache.org> wrote:

> Yeah, setting r->status to HTTP_OK is done here solely to make it work
> with the existing logic about HTTP_REQUEST_TIME_OUT meaning "still
> reading the request header."
>
> +1 for of removing the HTTP_REQUEST_TIME_OUT hack.  I was trying
> to be conservative by preserving that part of the original logic, but
> now
> that you mention it, we might as well replace it with something less
> subtle
> in 2.3.  This will break any 3rd party modules that depend upon the
> HTTP_REQUEST_TIME_OUT convention, but for a major release
> like 2.4 or 3.0 that's a defensible choice.

+1.

> I'm relieved to hear that it's not async, since you're looking at the
> blocking
> version.  :-)  See ap_read_async_request() (still on the async-read-
> dev branch).

AFAICT, ap_read_async_request() on the branch can't handle a partial
line correctly.

Noting of course that ap_core_input_filter is 'cute' and masks EAGAIN.
 So, you'll never see EAGAIN from this code path!  As I said earlier,
the EAGAIN logic in httpd is completely suspect.

Furthermore, as I read it, ap_read_async_request is assuming that it
gets a complete line from getline_nonblocking - which almost certainly
won't be the case.  -- justin

Mime
View raw message