You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rp...@apache.org on 2005/12/11 02:28:19 UTC
svn commit: r355853 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.c
mod_proxy.h mod_proxy_ajp.c mod_proxy_http.c
Author: rpluem
Date: Sat Dec 10 17:28:13 2005
New Revision: 355853
URL: http://svn.apache.org/viewcvs?rev=355853&view=rev
Log:
* revert r355823 and r355837
Modified:
httpd/httpd/trunk/modules/proxy/mod_proxy.c
httpd/httpd/trunk/modules/proxy/mod_proxy.h
httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/proxy/mod_proxy.c?rev=355853&r1=355852&r2=355853&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy.c Sat Dec 10 17:28:13 2005
@@ -758,20 +758,6 @@
worker->s->status |= PROXY_WORKER_IN_ERROR;
}
}
- else if (access_status == PROXY_BACKEND_BROKEN) {
- /*
- * If the backend broke after the headers had been sent do not
- * try another worker, but leave. Do not mark the worker as
- * unsuable as this problem may not reoccur on the next request.
- *
- * TODO: Currently we abort the connection and notify all parties
- * on the upstream that something went wrong by setting c->aborted
- * to 1. This idea is currently vetoed and should be replaced with
- * other methods
- */
- r->connection->aborted = 1;
- break;
- }
else {
/* Unrecoverable error.
* Return the origin status code to the client.
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/proxy/mod_proxy.h?rev=355853&r1=355852&r2=355853&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy.h (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy.h Sat Dec 10 17:28:13 2005
@@ -238,12 +238,6 @@
proxy_conn_rec *conn; /* Single connection for prefork mpm's */
};
-/*
- * Return code that scheme handlers should return if the backend connection
- * broke after they have sent the headers
- */
-#define PROXY_BACKEND_BROKEN -10
-
/* woker status flags */
#define PROXY_WORKER_INITIALIZED 0x0001
#define PROXY_WORKER_IGNORE_ERRORS 0x0002
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c?rev=355853&r1=355852&r2=355853&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c Sat Dec 10 17:28:13 2005
@@ -138,7 +138,6 @@
int havebody = 1;
int isok = 1;
apr_off_t bb_len;
- int data_sent = 0;
#ifdef FLUSHING_BANDAID
apr_int32_t conn_poll_fd;
apr_pollfd_t *conn_poll;
@@ -349,8 +348,6 @@
"proxy: error processing body");
isok = 0;
}
- /* memorize that we sent data */
- data_sent = 1;
apr_brigade_cleanup(output_brigade);
}
else {
@@ -366,8 +363,6 @@
"proxy: error processing body");
isok = 0;
}
- /* memorize that we sent data */
- data_sent = 1;
break;
default:
isok = 0;
@@ -414,15 +409,7 @@
"proxy: send body failed to %pI (%s)",
conn->worker->cp->addr,
conn->worker->hostname);
- /*
- * If we have sent data (and thus the headers) we must let the
- * others know.
- */
- if (data_sent) {
- return PROXY_BACKEND_BROKEN;
- } else {
- return HTTP_SERVICE_UNAVAILABLE;
- }
+ return HTTP_SERVICE_UNAVAILABLE;
}
/* Nice we have answer to send to the client */
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/proxy/mod_proxy_http.c?rev=355853&r1=355852&r2=355853&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_http.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Sat Dec 10 17:28:13 2005
@@ -1199,7 +1199,6 @@
* are being read. */
int pread_len = 0;
apr_table_t *save_table;
- int backend_broken = 0;
bb = apr_brigade_create(p, c->bucket_alloc);
@@ -1487,7 +1486,7 @@
*/
ap_log_cerror(APLOG_MARK, APLOG_ERR, rv, c,
"proxy: error reading response");
- backend_broken = 1;
+ c->aborted = 1;
break;
}
/* next time try a non-blocking read */
@@ -1553,9 +1552,9 @@
}
} while (interim_response);
- /* Signal back that the backend broke after we sent the headers. */
- if (backend_broken) {
- return PROXY_BACKEND_BROKEN;
+ /* If our connection with the client is to be aborted, return DONE. */
+ if (c->aborted) {
+ return DONE;
}
if (conf->error_override) {