Loading modules/proxy/mod_proxy.c +0 −14 Original line number Diff line number Diff line Loading @@ -758,20 +758,6 @@ static int proxy_handler(request_rec *r) 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. Loading modules/proxy/mod_proxy.h +0 −6 Original line number Diff line number Diff line Loading @@ -238,12 +238,6 @@ struct proxy_conn_pool { 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 Loading modules/proxy/mod_proxy_ajp.c +1 −14 Original line number Diff line number Diff line Loading @@ -138,7 +138,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, 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; Loading Loading @@ -349,8 +348,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "proxy: error processing body"); isok = 0; } /* memorize that we sent data */ data_sent = 1; apr_brigade_cleanup(output_brigade); } else { Loading @@ -366,8 +363,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "proxy: error processing body"); isok = 0; } /* memorize that we sent data */ data_sent = 1; break; default: isok = 0; Loading Loading @@ -414,16 +409,8 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "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; } } /* Nice we have answer to send to the client */ if (result == CMD_AJP13_END_RESPONSE && isok) { Loading modules/proxy/mod_proxy_http.c +4 −5 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,6 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, * are being read. */ int pread_len = 0; apr_table_t *save_table; int backend_broken = 0; bb = apr_brigade_create(p, c->bucket_alloc); Loading Loading @@ -1487,7 +1486,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, */ 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 */ Loading Loading @@ -1553,9 +1552,9 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, } } 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) { Loading Loading
modules/proxy/mod_proxy.c +0 −14 Original line number Diff line number Diff line Loading @@ -758,20 +758,6 @@ static int proxy_handler(request_rec *r) 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. Loading
modules/proxy/mod_proxy.h +0 −6 Original line number Diff line number Diff line Loading @@ -238,12 +238,6 @@ struct proxy_conn_pool { 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 Loading
modules/proxy/mod_proxy_ajp.c +1 −14 Original line number Diff line number Diff line Loading @@ -138,7 +138,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, 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; Loading Loading @@ -349,8 +348,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "proxy: error processing body"); isok = 0; } /* memorize that we sent data */ data_sent = 1; apr_brigade_cleanup(output_brigade); } else { Loading @@ -366,8 +363,6 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "proxy: error processing body"); isok = 0; } /* memorize that we sent data */ data_sent = 1; break; default: isok = 0; Loading Loading @@ -414,16 +409,8 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, "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; } } /* Nice we have answer to send to the client */ if (result == CMD_AJP13_END_RESPONSE && isok) { Loading
modules/proxy/mod_proxy_http.c +4 −5 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,6 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, * are being read. */ int pread_len = 0; apr_table_t *save_table; int backend_broken = 0; bb = apr_brigade_create(p, c->bucket_alloc); Loading Loading @@ -1487,7 +1486,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, */ 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 */ Loading Loading @@ -1553,9 +1552,9 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, } } 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) { Loading