[Python-checkins] r60189 - python/trunk/Lib/threading.py

gregory.p.smith python-checkins at python.org
Tue Jan 22 02:12:03 CET 2008


Author: gregory.p.smith
Date: Tue Jan 22 02:12:02 2008
New Revision: 60189

Modified:
   python/trunk/Lib/threading.py
Log:
Replace spam.acquire() try: ... finally: spam.release() with "with spam:"


Modified: python/trunk/Lib/threading.py
==============================================================================
--- python/trunk/Lib/threading.py	(original)
+++ python/trunk/Lib/threading.py	Tue Jan 22 02:12:02 2008
@@ -347,27 +347,18 @@
         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 @@
                 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 @@
         # 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 @@
         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 @@
                 else:
                     if __debug__:
                         self._note("%s.join(): thread stopped", self)
-        finally:
-            self.__block.release()
 
     def getName(self):
         assert self.__initialized, "Thread.__init__() not called"


More information about the Python-checkins mailing list