Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-12-22 12:59:06 +0300
committerValentin Bartenev <vbart@nginx.com>2014-12-22 12:59:06 +0300
commitb24ad4200807ff7071987ea6bc86dd164c1a1ede (patch)
tree9bbc3666a000949ef95847792296946a06959b84
parentc40a72761c909aca80fb27d9df12fa3043afbaa2 (diff)
Upstream: preset some cache configuration when bypassing.
No functional changes.
-rw-r--r--src/http/ngx_http_upstream.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index b2066a3ef..4e71af010 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -763,6 +763,12 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u)
u->cacheable = 1;
+ c = r->cache;
+
+ c->body_start = u->conf->buffer_size;
+ c->min_uses = u->conf->cache_min_uses;
+ c->file_cache = u->conf->cache_zone->data;
+
switch (ngx_http_test_predicates(r, u->conf->cache_bypass)) {
case NGX_ERROR:
@@ -776,12 +782,6 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u)
break;
}
- c = r->cache;
-
- c->min_uses = u->conf->cache_min_uses;
- c->body_start = u->conf->buffer_size;
- c->file_cache = u->conf->cache_zone->data;
-
c->lock = u->conf->cache_lock;
c->lock_timeout = u->conf->cache_lock_timeout;
c->lock_age = u->conf->cache_lock_age;
@@ -2536,9 +2536,7 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u)
if (u->cache_status == NGX_HTTP_CACHE_BYPASS) {
- r->cache->min_uses = u->conf->cache_min_uses;
- r->cache->body_start = u->conf->buffer_size;
- r->cache->file_cache = u->conf->cache_zone->data;
+ /* create cache if previously bypassed */
if (ngx_http_file_cache_create(r) != NGX_OK) {
ngx_http_upstream_finalize_request(r, u, NGX_ERROR);