Mercurial > hg > nginx
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; |