]> granicus.if.org Git - apache/commitdiff
In event's process_lingering_close, close the socket and remove it
authorEric Covener <covener@apache.org>
Sun, 25 Aug 2013 18:59:42 +0000 (18:59 +0000)
committerEric Covener <covener@apache.org>
Sun, 25 Aug 2013 18:59:42 +0000 (18:59 +0000)
from the ring as soon as we see any status that isn't
APR_EAGAIN or APR_SUCCESS, instead of waiting specifically
for EOF.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1517365 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/event/event.c

index 004f52309944ab7293009913bc7942f1fcd61e15..595425164a5d233b91dad5bf33dbf99efe21faf8 100644 (file)
@@ -1436,7 +1436,7 @@ static void process_lingering_close(event_conn_state_t *cs, const apr_pollfd_t *
         rv = apr_socket_recv(csd, dummybuf, &nbytes);
     } while (rv == APR_SUCCESS);
 
-    if (!APR_STATUS_IS_EOF(rv)) {
+    if (APR_STATUS_IS_EAGAIN(rv)) {
         return;
     }