On 1/3/06, Brian Pane <[EMAIL PROTECTED]> 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
