From e8c40301fe92ae38ad59120809b2a98cf85bef01 Mon Sep 17 00:00:00 2001 From: Neil Williams Date: Mon, 22 Oct 2012 16:32:45 -0700 Subject: [PATCH] lock: Make it cleaner to acquire/release locks outside context managers. --- r2/r2/lib/lock.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/r2/r2/lib/lock.py b/r2/r2/lib/lock.py index 8b07b4180..49aa96994 100644 --- a/r2/r2/lib/lock.py +++ b/r2/r2/lib/lock.py @@ -57,6 +57,12 @@ class MemcacheLock(object): self.verbose = verbose def __enter__(self): + self.acquire() + + def __exit__(self, type, value, tb): + self.release() + + def acquire(self): start = datetime.now() my_info = (reddit_host, reddit_pid, simple_traceback()) @@ -93,7 +99,7 @@ class MemcacheLock(object): self.locks.add(self.key) self.have_lock = True - def __exit__(self, type, value, tb): + def release(self): #only release the lock if we gained it in the first place if self.have_lock: self.cache.delete(self.key)