Without looking at it too deeply, It seems like suspendable handlers
(that continue on as HTTP) are not really working.

When your timed callback ends, the underlying socket is not in the
"keepalive" queue anymore in the MPM. The way it normally gets back
into that queue is by ap_process_request ending up with state ==
CONN_STATE_WRITE_COMPLETION, you can see that it doesn't take much to
hook it back into the keepalive queue in event.c.

It looks like new APIs are needed -- either in a new timed callback
API, or something usable from the callback function. Unfortunately the
timed callback is not explicitly connection-rec related now so it
cannot really sort this out without some hints.

On Sun, Mar 30, 2014 at 6:23 AM, Artem Grinblat <artem...@gmail.com> wrote:
> I've come up with an (almost) working SUSPENDED test case:
> https://gist.github.com/ArtemGr/9870554
> It works in browser and with "curl -v http://127.0.0.1/sustest";, at least
> for some time.
>
> Apache version is 2.4.7 (Debian Jessie).
>
> Problem is, when I test it with ab (ab -n 999 -c 9 http://127.0.0.1/sustest)
> it just sits there and then tells me "apr_pollset_poll: The timeout
> specified has expired (70007)".
>
> I suspect the connections aren't properly released but I don't really know.
>
> Please help me understand what's wrong with the test case.
> Am I doing something wrong or is it a bug in Apache?



-- 
Eric Covener
cove...@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to