diff options
author | Erik Johnston <erik@matrix.org> | 2015-05-22 10:33:00 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-05-22 10:33:00 +0100 |
commit | 4429e720ae2abb64a8bb58a6b8fa9b01c53429a3 (patch) | |
tree | a4ff9a599d7840541949e5fcc5f74ac26b0695e3 /synapse/util/lrucache.py | |
parent | Oops, get_rooms_for_user returns a namedtuple, not a room_id (diff) | |
parent | Changelog (diff) | |
download | synapse-4429e720ae2abb64a8bb58a6b8fa9b01c53429a3.tar.xz |
Merge branch 'master' of github.com:matrix-org/synapse into develop
Diffstat (limited to 'synapse/util/lrucache.py')
-rw-r--r-- | synapse/util/lrucache.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/synapse/util/lrucache.py b/synapse/util/lrucache.py index 96163c90f1..cacd7e45fa 100644 --- a/synapse/util/lrucache.py +++ b/synapse/util/lrucache.py @@ -20,7 +20,6 @@ import threading class LruCache(object): """Least-recently-used cache.""" - # TODO(mjark) Add mutex for linked list for thread safety. def __init__(self, max_size): cache = {} list_root = [] @@ -106,6 +105,12 @@ class LruCache(object): return default @synchronized + def cache_clear(): + list_root[NEXT] = list_root + list_root[PREV] = list_root + cache.clear() + + @synchronized def cache_len(): return len(cache) @@ -120,6 +125,7 @@ class LruCache(object): self.pop = cache_pop self.len = cache_len self.contains = cache_contains + self.clear = cache_clear def __getitem__(self, key): result = self.get(key, self.sentinel) |