From: Gregory P. Smith Date: Tue, 22 Jan 2008 01:12:02 +0000 (+0000) Subject: Replace spam.acquire() try: ... finally: spam.release() with "with spam:" X-Git-Tag: v2.6a1~464 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64c5677de4e979d1496d8851dcc27078caa89d40;p=thirdparty%2FPython%2Fcpython.git Replace spam.acquire() try: ... finally: spam.release() with "with spam:" --- diff --git a/Lib/threading.py b/Lib/threading.py index 7b0726567020..98d15b240a9b 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -347,27 +347,18 @@ class _Event(_Verbose): return self.__flag def set(self): - self.__cond.acquire() - try: + with self.__cond: self.__flag = True self.__cond.notifyAll() - finally: - self.__cond.release() def clear(self): - self.__cond.acquire() - try: + with self.__cond: self.__flag = False - finally: - self.__cond.release() def wait(self, timeout=None): - self.__cond.acquire() - try: + with self.__cond: if not self.__flag: self.__cond.wait(timeout) - finally: - self.__cond.release() # Helper to generate new thread names _counter = 0 @@ -531,10 +522,9 @@ class Thread(_Verbose): pass def __stop(self): - self.__block.acquire() - self.__stopped = True - self.__block.notifyAll() - self.__block.release() + with self.__block: + self.__stopped = True + self.__block.notifyAll() def __delete(self): "Remove current thread from the dict of currently running threads." @@ -560,15 +550,12 @@ class Thread(_Verbose): # since it isn't if dummy_threading is *not* being used then don't # hide the exception. - _active_limbo_lock.acquire() - try: + with _active_limbo_lock: try: del _active[_get_ident()] except KeyError: if 'dummy_threading' not in _sys.modules: raise - finally: - _active_limbo_lock.release() def join(self, timeout=None): if not self.__initialized: @@ -581,8 +568,7 @@ class Thread(_Verbose): if __debug__: if not self.__stopped: self._note("%s.join(): waiting until thread stops", self) - self.__block.acquire() - try: + with self.__block: if timeout is None: while not self.__stopped: self.__block.wait() @@ -600,8 +586,6 @@ class Thread(_Verbose): else: if __debug__: self._note("%s.join(): thread stopped", self) - finally: - self.__block.release() def getName(self): assert self.__initialized, "Thread.__init__() not called"