Use try..finally in contextlib.contextmanager

This commit is contained in:
Erik Johnston 2015-04-15 10:25:43 +01:00
parent ded4128965
commit a971fa9d58

View file

@ -97,9 +97,11 @@ class StreamIdGenerator(object):
@contextlib.contextmanager @contextlib.contextmanager
def manager(): def manager():
yield next_id try:
with self._lock: yield next_id
self._unfinished_ids.remove(next_id) finally:
with self._lock:
self._unfinished_ids.remove(next_id)
return manager() return manager()