Changeset 740 for vendor/current/source3/lib/memcache.c
- Timestamp:
- Nov 14, 2012, 12:59:34 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/lib/memcache.c
r414 r740 32 32 33 33 struct memcache { 34 struct memcache_element *mru , *lru;34 struct memcache_element *mru; 35 35 struct rb_root tree; 36 36 size_t size; … … 162 162 163 163 if (cache->size != 0) { 164 /*165 * Do LRU promotion only when we will ever shrink166 */167 if (e == cache->lru) {168 cache->lru = e->prev;169 }170 164 DLIST_PROMOTE(cache->mru, e); 171 if (cache->mru == NULL) {172 cache->mru = e;173 }174 165 } 175 166 … … 202 193 rb_erase(&e->rb_node, &cache->tree); 203 194 204 if (e == cache->lru) {205 cache->lru = e->prev;206 }207 195 DLIST_REMOVE(cache->mru, e); 208 196 … … 228 216 } 229 217 230 while ((cache->size > cache->max_size) && (cache->lru != NULL)) {231 memcache_delete_element(cache, cache->lru);218 while ((cache->size > cache->max_size) && DLIST_TAIL(cache->mru)) { 219 memcache_delete_element(cache, DLIST_TAIL(cache->mru)); 232 220 } 233 221 } … … 332 320 333 321 DLIST_ADD(cache->mru, e); 334 if (cache->lru == NULL) {335 cache->lru = e;336 }337 322 338 323 cache->size += element_size; … … 401 386 } 402 387 403 if (node == NULL) {404 return;405 }406 407 388 /* 408 389 * Then, find the leftmost element with number n
Note:
See TracChangeset
for help on using the changeset viewer.