Commit b11b407e authored by Luca Toscano's avatar Luca Toscano
Browse files

event.xml: follow up r1820466 with Yann's suggestions

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1820541 13f79535-47bb-0310-9956-ffa450edef68
parent f00fe9d8
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -94,8 +94,11 @@ of the <directive>AsyncRequestWorkerFactor</directive>.</p>
            sockets and they can be re-used to serve other requests.</dd>

            <dt>Closing</dt>
            <dd>Sometimes the MPM needs to perform a lingering close, namely sending back an early error to the client while it is still transmitting data to httpd. Sending the response and then closing the connection immediately is not the correct thing to do since the client (still trying to send the rest of the request) would get a connection reset and could not read the httpd's response. So in such cases, httpd tries to read the rest of the request to allow the client to consume the response. The lingering close is time bounded but it can take relatively long time, so a worker thread can offload this work to the listener. From 2.4.28 onward
            the listener does not perform the lingering close anymore but it offloads the job to the first worker available.
            <dd>Sometimes the MPM needs to perform a lingering close, namely sending back an early error to the client while it is still transmitting data to httpd.
            Sending the response and then closing the connection immediately is not the correct thing to do since the client (still trying to send the rest of the
            request) would get a connection reset and could not read the httpd's response. The lingering close is time bounded but it can take relatively long
            time, so it's offloaded to a worker thread (including the shutdown hooks and real socket close). From 2.4.28 onward this is also the
            case when connections finally timeout (the listener thread never handles connections besides waiting for and dispatching their events).
            </dd>
        </dl>