summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2019-05-07 16:18:20 (GMT)
committerGitHub <noreply@github.com>2019-05-07 16:18:20 (GMT)
commit64aa6d2000665efb1a2eccae176df9520bf5f5e6 (patch)
treeb4c0efc6ae8ccc4d1da0c0d701f75f73e2d879c0 /Misc
parente85ef7a7eacdef2f43e6bf2e67f335100e7ef2da (diff)
downloadcpython-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.rst6
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.