diff options
Diffstat (limited to 'repoze/lru/__init__.py')
-rw-r--r-- | repoze/lru/__init__.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/repoze/lru/__init__.py b/repoze/lru/__init__.py index b5e5203..94362fb 100644 --- a/repoze/lru/__init__.py +++ b/repoze/lru/__init__.py @@ -9,14 +9,18 @@ class LRUCache(object): """ Implements a psueudo-LRU algorithm (CLOCK) """ if size < 1: raise ValueError('size must be >1') + self.size = size + self.lock = threading.Lock() + self.clear() + + def clear(self): + size = self.size self.clock = [] for i in xrange(0, size): self.clock.append({'key':_marker, 'ref':False}) - self.size = size self.maxpos = size - 1 self.hand = 0 self.data = {} - self.lock = threading.Lock() def get(self, key, default=None): try: |