[Python-checkins] cpython (3.4): use the with statement for locking the internal condition (closes #25362)

benjamin.peterson python-checkins at python.org
Sat Oct 10 22:37:04 EDT 2015


https://hg.python.org/cpython/rev/62e87422a1a9
changeset: 98663:62e87422a1a9
branch: 3.4
parent: 98659:99c82576bb70
user: Benjamin Peterson <benjamin at python.org>
date: Sat Oct 10 19:34:46 2015 -0700
summary:
 use the with statement for locking the internal condition (closes #25362)
Patch by Nir Soffer.
files:
 Lib/threading.py | 15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/Lib/threading.py b/Lib/threading.py
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -511,12 +511,9 @@
 that call wait() once the flag is true will not block at all.
 
 """
- self._cond.acquire()
- try:
+ with self._cond:
 self._flag = True
 self._cond.notify_all()
- finally:
- self._cond.release()
 
 def clear(self):
 """Reset the internal flag to false.
@@ -525,11 +522,8 @@
 set the internal flag to true again.
 
 """
- self._cond.acquire()
- try:
+ with self._cond:
 self._flag = False
- finally:
- self._cond.release()
 
 def wait(self, timeout=None):
 """Block until the internal flag is true.
@@ -546,14 +540,11 @@
 True except if a timeout is given and the operation times out.
 
 """
- self._cond.acquire()
- try:
+ with self._cond:
 signaled = self._flag
 if not signaled:
 signaled = self._cond.wait(timeout)
 return signaled
- finally:
- self._cond.release()
 
 
 # A barrier class. Inspired in part by the pthread_barrier_* api and
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /