diff options
author | Gregory P. Smith <greg@krypto.org> | 2019-05-07 16:18:20 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-07 16:18:20 (GMT) |
commit | 64aa6d2000665efb1a2eccae176df9520bf5f5e6 (patch) | |
tree | b4c0efc6ae8ccc4d1da0c0d701f75f73e2d879c0 /Misc | |
parent | e85ef7a7eacdef2f43e6bf2e67f335100e7ef2da (diff) | |
download | cpython-64aa6d2000665efb1a2eccae176df9520bf5f5e6.zip cpython-64aa6d2000665efb1a2eccae176df9520bf5f5e6.tar.gz cpython-64aa6d2000665efb1a2eccae176df9520bf5f5e6.tar.bz2 |
bpo-36533: Reinit logging.Handler locks on fork(). (GH-12704)
Instead of attempting to acquire and release them all across fork
which was leading to deadlocks in some applications that had chained
their own handlers while holding multiple locks.
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/NEWS.d/next/Library/2019-04-06-00-55-09.bpo-36533.kzMyRH.rst | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2019-04-06-00-55-09.bpo-36533.kzMyRH.rst b/Misc/NEWS.d/next/Library/2019-04-06-00-55-09.bpo-36533.kzMyRH.rst new file mode 100644 index 0000000..15c4222 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-04-06-00-55-09.bpo-36533.kzMyRH.rst @@ -0,0 +1,6 @@ +Reinitialize logging.Handler locks in forked child processes instead of +attempting to acquire them all in the parent before forking only to be +released in the child process. The acquire/release pattern was leading to +deadlocks in code that has implemented any form of chained logging handlers +that depend upon one another as the lock acquision order cannot be +guaranteed. |