# HG changeset patch # User Igor Sysoev # Date 1280493715 0 # Node ID e9f0a2497d3c22a1162b74b36707997c59d7db7d # Parent 14ad3210fc731c66e0134c681d81c794f371b3e9 count cache key node usage for cached error statuses diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c --- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c @@ -519,6 +519,9 @@ ngx_http_file_cache_exists(ngx_http_file if (fcn) { ngx_queue_remove(&fcn->queue); + fcn->uses++; + fcn->count++; + if (fcn->error) { if (fcn->valid_sec < ngx_time()) { @@ -530,9 +533,6 @@ ngx_http_file_cache_exists(ngx_http_file goto done; } - fcn->uses++; - fcn->count++; - if (fcn->exists) { c->exists = fcn->exists; @@ -581,12 +581,13 @@ ngx_http_file_cache_exists(ngx_http_file ngx_rbtree_insert(&cache->sh->rbtree, &fcn->node); + fcn->uses = 1; + fcn->count = 1; + renew: rc = NGX_DECLINED; - fcn->uses = 1; - fcn->count = 1; fcn->valid_msec = 0; fcn->error = 0; fcn->exists = 0;