Mercurial > hg > nginx
comparison src/http/ngx_http_file_cache.c @ 3723:14ad3210fc73
do not free unused cache node if cache min_uses > 1,
the bug has been introduced in r3695, r3708, r3711
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 30 Jul 2010 10:20:08 +0000 |
parents | f0b62d1ac7af |
children | e9f0a2497d3c |
comparison
equal
deleted
inserted
replaced
3722:1a728cc43bb1 | 3723:14ad3210fc73 |
---|---|
930 if (c->error) { | 930 if (c->error) { |
931 fcn->valid_sec = c->valid_sec; | 931 fcn->valid_sec = c->valid_sec; |
932 fcn->valid_msec = c->valid_msec; | 932 fcn->valid_msec = c->valid_msec; |
933 fcn->error = c->error; | 933 fcn->error = c->error; |
934 | 934 |
935 } else if (!fcn->exists && fcn->count == 0) { | 935 } else if (!fcn->exists && fcn->count == 0 && c->min_uses == 1) { |
936 ngx_queue_remove(&fcn->queue); | 936 ngx_queue_remove(&fcn->queue); |
937 ngx_rbtree_delete(&cache->sh->rbtree, &fcn->node); | 937 ngx_rbtree_delete(&cache->sh->rbtree, &fcn->node); |
938 ngx_slab_free_locked(cache->shpool, fcn); | 938 ngx_slab_free_locked(cache->shpool, fcn); |
939 c->node = NULL; | 939 c->node = NULL; |
940 } | 940 } |