From d3fe74d4c081edea8043208a95bfaa168e2f0faa Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 9 Mar 2015 15:17:56 +0100 Subject: [PATCH] Cache: do not try to release the lock twice If Cache was already closed and __del__ was called, it called close() again and crashed when trying to release the lock again. --- attic/cache.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/attic/cache.py b/attic/cache.py index acbc76653..7bec89c16 100644 --- a/attic/cache.py +++ b/attic/cache.py @@ -18,6 +18,7 @@ class Cache(object): def __init__(self, repository, key, manifest, path=None, sync=True): self.timestamp = None + self.lock = None self.txn_active = False self.repository = repository self.key = key @@ -69,7 +70,9 @@ class Cache(object): self.files = None def close(self): - self.lock.release() + if self.lock: + self.lock.release() + self.lock = None def _read_files(self): self.files = {}