From 87ee00702262ad021799a98211fc72e2258be07d Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Tue, 28 Jun 2011 13:26:08 +0000 Subject: [PATCH] revert r3935 and fix "stalled cache updating" alert by freeing cache at upstream finalize phase patch by Maxim Dounin --- src/http/ngx_http_upstream.c | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 22187a5e6..f9f09cb34 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -2031,15 +2031,6 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u) c->error = 1; } else { - -#if (NGX_HTTP_CACHE) - - if (r->cache) { - ngx_http_file_cache_free(r->cache, u->pipe->temp_file); - } - -#endif - ngx_http_upstream_finalize_request(r, u, rc); return; } @@ -2991,16 +2982,19 @@ ngx_http_upstream_finalize_request(ngx_http_request_t *r, #if (NGX_HTTP_CACHE) - if (u->cacheable && r->cache) { - time_t valid; + if (r->cache) { - if (rc == NGX_HTTP_BAD_GATEWAY || rc == NGX_HTTP_GATEWAY_TIME_OUT) { + if (u->cacheable) { - valid = ngx_http_file_cache_valid(u->conf->cache_valid, rc); + if (rc == NGX_HTTP_BAD_GATEWAY || rc == NGX_HTTP_GATEWAY_TIME_OUT) { + time_t valid; - if (valid) { - r->cache->valid_sec = ngx_time() + valid; - r->cache->error = rc; + valid = ngx_http_file_cache_valid(u->conf->cache_valid, rc); + + if (valid) { + r->cache->valid_sec = ngx_time() + valid; + r->cache->error = rc; + } } }