Issue #17555: Fix ForkAwareThreadLock so that size of after fork

registry does not grow exponentially with generation of process.
This commit is contained in:
Richard Oudkerk 2013-04-17 20:58:00 +01:00
parent b38897fc91
commit 409c31390f
3 changed files with 38 additions and 2 deletions

View file

@ -322,10 +322,13 @@ atexit.register(_exit_function)
class ForkAwareThreadLock(object):
def __init__(self):
self._reset()
register_after_fork(self, ForkAwareThreadLock._reset)
def _reset(self):
self._lock = threading.Lock()
self.acquire = self._lock.acquire
self.release = self._lock.release
register_after_fork(self, ForkAwareThreadLock.__init__)
class ForkAwareLocal(threading.local):
def __init__(self):