[prev in list] [next in list] [prev in thread] [next in thread]
List: apr-dev
Subject: Re: [PATCH] APR blocking read()
From: Ryan Phillips <ryan-apr () trolocsis ! com>
Date: 2007-04-25 4:49:21
Message-ID: 20070425044921.GC46804 () zeus ! kimaker ! com
[Download RAW message or body]
Ryan Phillips <ryan-apr@trolocsis.com> said:
> I ran into a problem today with apache blocking on a read. When
> ap_http_filter was getting called with AP_MODE_EATCRLF and block=APR_NONBLOCKREAD
> the bucket brigade was blocking (see socket_bucket_read).
>
> I am not 100% sure how the bucket brigades are supposed to work on a
> nonblocking read, but please critique this patch. The patch applies to APR.
>
I should mention the behavior I saw...
Apache is listening on two ports (80 and 443, 443 is a vhost), the SSL socket
would work perfectly fine, but port 80 would just connect and stall... no
data returned to the client. I tracked the problem down to the keepalive
check. If I disabled keepalive then both ports worked ok, but with
keepalive enabled, then port 80 would connect, but no data returned back to
the client.
The non-blocking call to the brigade to eat whitespace kept hanging. I
believe the right fix is not to clear the APR_INCOMPLETE_WRITE flag when
timeout == 0.
Thoughts?
Regards,
Ryan
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic