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 }