mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
bpo-40089: Add _at_fork_reinit() method to locks (GH-19195)
Add a private _at_fork_reinit() method to _thread.Lock, _thread.RLock, threading.RLock and threading.Condition classes: reinitialize the lock after fork in the child process; reset the lock to the unlocked state. Rename also the private _reset_internal_locks() method of threading.Event to _at_fork_reinit(). * Add _PyThread_at_fork_reinit() private function. It is excluded from the limited C API. * threading.Thread._reset_internal_locks() now calls _at_fork_reinit() on self._tstate_lock rather than creating a new Python lock object.
This commit is contained in:
parent
48b069a003
commit
87255be696
7 changed files with 133 additions and 22 deletions
|
|
@ -491,7 +491,8 @@ register_at_forker(PyObject **lst, PyObject *func)
|
|||
}
|
||||
return PyList_Append(*lst, func);
|
||||
}
|
||||
#endif
|
||||
#endif /* HAVE_FORK */
|
||||
|
||||
|
||||
/* Legacy wrapper */
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue