Thanks a lot! I've made a hack which puts the suspeded connection back in the queue: https://gist.github.com/ArtemGr/9887564 with that the test case works! (`ab` no longer timeouts).
Would it make sense to submit a feature request along these lines? Should I make a patch or leave it to the more experienced Apache developers? It looks like new APIs are needed -- either in a new timed callback > API, or something usable from the callback function. > Timed callback is just a convenience, the real code might use its own even loop and/or threads, so something usable from the callback is definitely better. BTW, Cherokee has an interesting way about that, allowing the connection to wait on an arbitrary file descriptor. So one can make a `pipefd` file descriptor just to wake the connection up: https://gist.github.com/ArtemGr/5797289 On Mon, Mar 31, 2014 at 5:00 AM, Eric Covener <cove...@gmail.com> wrote: > 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. >