]> granicus.if.org Git - apache/commitdiff
Merge r1724857 from trunk:
authorJim Jagielski <jim@apache.org>
Thu, 21 Jan 2016 16:52:20 +0000 (16:52 +0000)
committerJim Jagielski <jim@apache.org>
Thu, 21 Jan 2016 16:52:20 +0000 (16:52 +0000)
  *) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075,
     "Error dispatching request", when the cause appears to be
     the client closing the connection.

PR58118.

Submitted By: Tobias Adolph <adolph lrz.de>
Committed By: covener

Submitted by: covener
Reviewed/backported by: jim

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1726019 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/proxy/mod_proxy_fcgi.c

diff --git a/CHANGES b/CHANGES
index 7fc42f171e2ccb73a215d463a2a0ccb1ec3e6142..7e5a885019e3c24ba35a6ff43bff23f9f98d450b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,12 @@
 
 Changes with Apache 2.4.19
 
+
+  *) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075, 
+     "Error dispatching request", when the cause appears to be 
+     due to the client closing the connection. 
+     PR58118.  [Tobias Adolph <adolph lrz.de>]
+
   *) mod_cgid: Message AH02550, failure to flush a response to the client,
      is now logged at TRACE1 level to match the underlying core output filter
      severity.  [Eric Covener]
diff --git a/STATUS b/STATUS
index c0c96ec8f020300ec1c73f4de9876030bd6a6e16..ff97019eed56be4fd94a6221d944a370a18e17d3 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -112,14 +112,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  *) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075,
-     "Error dispatching request", when the cause appears to be
-     the client closing the connection. PR58118
-     trunk patch:  http://svn.apache.org/r1724857
-     2.4.x patch: trunk works
-     +1 covener, jim, rjung
-
-
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
index ba813ed50029e8b76aa8bd64348768955df74f63..9068e6e630550337b2e7941f5f8e76634cbcb837 100644 (file)
@@ -833,6 +833,16 @@ static int fcgi_do_request(apr_pool_t *p, request_rec *r,
     rv = dispatch(conn, conf, r, temp_pool, request_id,
                   &err, &bad_request, &has_responded);
     if (rv != APR_SUCCESS) {
+        /* If the client aborted the connection during retrieval or (partially)
+         * sending the response, dont't return a HTTP_SERVICE_UNAVAILABLE, since
+         * this is not a backend problem. */
+        if (r->connection->aborted) {
+            ap_log_rerror(APLOG_MARK, APLOG_TRACE1, rv, r, 
+                          "The client aborted the connection.");
+            conn->close = 1;
+            return OK;
+        }
+
         ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01075)
                       "Error dispatching request to %s: %s%s%s",
                       server_portstr,