comparison src/core/ngx_open_file_cache.c @ 1761:1c4b231ba90c

embed sentinel
author Igor Sysoev <igor@sysoev.ru>
date Thu, 20 Dec 2007 21:29:52 +0000
parents 4fc402c3ec73
children b0cbe16febaf
comparison
equal deleted inserted replaced
1760:49429f5b2d94 1761:1c4b231ba90c
31 31
32 32
33 ngx_open_file_cache_t * 33 ngx_open_file_cache_t *
34 ngx_open_file_cache_init(ngx_pool_t *pool, ngx_uint_t max, time_t inactive) 34 ngx_open_file_cache_init(ngx_pool_t *pool, ngx_uint_t max, time_t inactive)
35 { 35 {
36 ngx_rbtree_node_t *sentinel;
37 ngx_pool_cleanup_t *cln; 36 ngx_pool_cleanup_t *cln;
38 ngx_open_file_cache_t *cache; 37 ngx_open_file_cache_t *cache;
39 38
40 cache = ngx_palloc(pool, sizeof(ngx_open_file_cache_t)); 39 cache = ngx_palloc(pool, sizeof(ngx_open_file_cache_t));
41 if (cache == NULL) { 40 if (cache == NULL) {
46 cache->list_head.next = &cache->list_tail; 45 cache->list_head.next = &cache->list_tail;
47 46
48 cache->list_tail.prev = &cache->list_head; 47 cache->list_tail.prev = &cache->list_head;
49 cache->list_tail.next = NULL; 48 cache->list_tail.next = NULL;
50 49
51 sentinel = ngx_palloc(pool, sizeof(ngx_rbtree_node_t)); 50 ngx_rbtree_init(&cache->rbtree, &cache->sentinel,
52 if (sentinel == NULL) {
53 return NULL;
54 }
55
56 ngx_rbtree_init(&cache->rbtree, sentinel,
57 ngx_open_file_cache_rbtree_insert_value); 51 ngx_open_file_cache_rbtree_insert_value);
58 52
59 cache->current = 0; 53 cache->current = 0;
60 cache->max = max; 54 cache->max = max;
61 cache->inactive = inactive; 55 cache->inactive = inactive;