nginx-0.0.1-2003-11-20-20:36:43 import
diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c
index b7487f8..25f5b33 100644
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -448,8 +448,11 @@
void ngx_http_proxy_finalize_request(ngx_http_proxy_ctx_t *p, int rc)
{
- ngx_log_debug(p->request->connection->log,
- "finalize http proxy request");
+ ngx_http_request_t *r;
+
+ r = p->request;
+
+ ngx_log_debug(r->connection->log, "finalize http proxy request");
if (p->upstream && p->upstream->peer.connection) {
ngx_http_proxy_close_connection(p);
@@ -462,11 +465,27 @@
}
if (p->saved_ctx) {
- p->request->connection->log->data = p->saved_ctx;
- p->request->connection->log->handler = p->saved_handler;
+ r->connection->log->data = p->saved_ctx;
+ r->connection->log->handler = p->saved_handler;
}
- ngx_http_finalize_request(p->request, rc);
+ if (p->upstream && p->upstream->event_pipe) {
+ngx_log_debug(r->connection->log, "TEMP FD: %d" _
+ p->upstream->event_pipe->temp_file->file.fd);
+ }
+
+ if (p->cache) {
+ngx_log_debug(r->connection->log, "CACHE FD: %d" _ p->cache->ctx.file.fd);
+ }
+
+ if (p->upstream && p->upstream->event_pipe) {
+ r->file.fd = p->upstream->event_pipe->temp_file->file.fd;
+
+ } else if (p->cache) {
+ r->file.fd = p->cache->ctx.file.fd;
+ }
+
+ ngx_http_finalize_request(r, rc);
}