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 21:09:38 +01:00
commit b147f60a38
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):