Use try..finally in contextlib.contextmanager

pull/123/head
Erik Johnston 2015-04-15 10:25:43 +01:00
parent ded4128965
commit a971fa9d58
1 changed files with 5 additions and 3 deletions

View File

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