summaryrefslogtreecommitdiffstats
path: root/Lib/multiprocessing/util.py
diff options
context:
space:
mode:
authorCharles-François Natali <cf.natali@gmail.com>2014-05-25 13:12:12 (GMT)
committerCharles-François Natali <cf.natali@gmail.com>2014-05-25 13:12:12 (GMT)
commita924fc7abc2d8788a4a9fa2cbef2caa5c5992ebd (patch)
treecb29ab708c0a0c1f8ea51d20cdc7dbdd19a77046 /Lib/multiprocessing/util.py
parent1691e35953858ae06b5198bf12c72a6cd0e0234b (diff)
downloadcpython-a924fc7abc2d8788a4a9fa2cbef2caa5c5992ebd.zip
cpython-a924fc7abc2d8788a4a9fa2cbef2caa5c5992ebd.tar.gz
cpython-a924fc7abc2d8788a4a9fa2cbef2caa5c5992ebd.tar.bz2
Issue #21565: multiprocessing: use contex-manager protocol for synchronization
primitives.
Diffstat (limited to 'Lib/multiprocessing/util.py')
-rw-r--r--Lib/multiprocessing/util.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py
index 0b695e4..8760c82 100644
--- a/Lib/multiprocessing/util.py
+++ b/Lib/multiprocessing/util.py
@@ -327,6 +327,13 @@ class ForkAwareThreadLock(object):
self.acquire = self._lock.acquire
self.release = self._lock.release
+ def __enter__(self):
+ return self._lock.__enter__()
+
+ def __exit__(self, *args):
+ return self._lock.__exit__(*args)
+
+
class ForkAwareLocal(threading.local):
def __init__(self):
register_after_fork(self, lambda obj : obj.__dict__.clear())