fix r3708 and r3695: valid_sec is set only for caching error status codes
diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c index ad97f07..3bb7054 100644 --- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c
@@ -932,7 +932,7 @@ fcn->valid_msec = c->valid_msec; fcn->error = c->error; - } else if (fcn->valid_sec == 0 && fcn->count == 0) { + } else if (!fcn->exists && fcn->count == 0) { ngx_queue_remove(&fcn->queue); ngx_rbtree_delete(&cache->sh->rbtree, &fcn->node); ngx_slab_free_locked(cache->shpool, fcn);