]> granicus.if.org Git - apache/commitdiff
mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
authorJeff Trawick <trawick@apache.org>
Thu, 6 Oct 2005 20:31:03 +0000 (20:31 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 6 Oct 2005 20:31:03 +0000 (20:31 +0000)
trigger POLL_ERR or POLL_HUP on a terminated connection.

PR: 36951

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

CHANGES
modules/proxy/mod_proxy_connect.c

diff --git a/CHANGES b/CHANGES
index 4ae8a9aca3eae4b56d5eee0fe257e81ec790049f..0c770be16aca3ebcf2cb7db3af3e4619602a3e10 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -31,6 +31,10 @@ Changes with Apache 2.3.0
 
 Changes with Apache 2.1.9
 
+  *) mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
+     trigger POLL_ERR or POLL_HUP on a terminated connection.  PR 36951.
+     [Jeff Trawick, Ruediger Pluem]
+
   *) SECURITY: CAN-2005-2970 (cve.mitre.org)
      worker MPM: Fix a memory leak which can occur after an aborted
      connection in some limited circumstances.  [Greg Ames, Jeff Trawick]
index a42bb7eaca184adcecdcb77674317eaf240bf5c2..4444a3ca7684273a46fb90133573d0b086b333b2 100644 (file)
@@ -357,8 +357,10 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
                     else
                         break;
                 }
-                else if ((pollevent & APR_POLLERR) || (pollevent & APR_POLLHUP))
+                else if ((pollevent & APR_POLLERR) || (pollevent & APR_POLLHUP)) {
+                    rv = APR_EOF;
                     break;
+                }
             }
             else
                 break;