diff options
author | Richard Oudkerk <shibturn@gmail.com> | 2012-06-15 18:26:07 +0100 |
---|---|---|
committer | Richard Oudkerk <shibturn@gmail.com> | 2012-06-15 18:26:07 +0100 |
commit | 3730a17a58d9058b0880202050a8c1e4ea193e8f (patch) | |
tree | 4dcc6136ee97567e2a9098e10865bff76929823b /Lib/multiprocessing/managers.py | |
parent | a6bc4b4c85dff9ccd0f91a1e10ac107e59c487a5 (diff) | |
download | cpython-git-3730a17a58d9058b0880202050a8c1e4ea193e8f.tar.gz |
Issue #14059: Implement multiprocessing.Barrier
Diffstat (limited to 'Lib/multiprocessing/managers.py')
-rw-r--r-- | Lib/multiprocessing/managers.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 817d2321d8..cded4f39d5 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -993,6 +993,26 @@ class EventProxy(BaseProxy): def wait(self, timeout=None): return self._callmethod('wait', (timeout,)) + +class BarrierProxy(BaseProxy): + _exposed_ = ('__getattribute__', 'wait', 'abort', 'reset') + def wait(self, timeout=None): + return self._callmethod('wait', (timeout,)) + def abort(self): + return self._callmethod('abort') + def reset(self): + return self._callmethod('reset') + @property + def parties(self): + return self._callmethod('__getattribute__', ('parties',)) + @property + def n_waiting(self): + return self._callmethod('__getattribute__', ('n_waiting',)) + @property + def broken(self): + return self._callmethod('__getattribute__', ('broken',)) + + class NamespaceProxy(BaseProxy): _exposed_ = ('__getattribute__', '__setattr__', '__delattr__') def __getattr__(self, key): @@ -1084,6 +1104,7 @@ SyncManager.register('Semaphore', threading.Semaphore, AcquirerProxy) SyncManager.register('BoundedSemaphore', threading.BoundedSemaphore, AcquirerProxy) SyncManager.register('Condition', threading.Condition, ConditionProxy) +SyncManager.register('Barrier', threading.Barrier, BarrierProxy) SyncManager.register('Pool', Pool, PoolProxy) SyncManager.register('list', list, ListProxy) SyncManager.register('dict', dict, DictProxy) |