Specifying `blocking` and `timeout` when acquiring lock as a context manager
Neil D. Cerutti
neilc at norwich.edu
Fri Aug 8 14:57:10 EDT 2014
On 8/8/2014 2:35 PM, Neil D. Cerutti wrote:
> Here's another attempt at context managing:
> @contextlib.contextmanager
> def release_if_acquired(lock, blocking=True, timeout=-1):
> acquired = lock.acquire(blocking, timeout)
> if acquired:
> yield acquired
> lock.release()
> else:
> yield acquired
I should not have used a temporary.
@contextlib.contextmanager
def release_if_acquired(lock, blocking=True, timeout=-1):
if lock.acquire(blocking, timeout)
yield True
lock.release()
else:
yield False
--
Neil Cerutti
More information about the Python-list
mailing list