diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-12-13 01:01:38 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-12-13 01:01:38 (GMT) |
commit | fdeb6ec45ab898e2783e44495a756f56b42f4a80 (patch) | |
tree | 572112b73b25f09bea638391bd351375a7ceb9a0 /Misc | |
parent | 62ca10051b5aa07b86807a50674dbef4cace22f7 (diff) | |
download | cpython-fdeb6ec45ab898e2783e44495a756f56b42f4a80.zip cpython-fdeb6ec45ab898e2783e44495a756f56b42f4a80.tar.gz cpython-fdeb6ec45ab898e2783e44495a756f56b42f4a80.tar.bz2 |
Issue #14432: Remove the thread state field from the frame structure. Fix a
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/NEWS | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -10,6 +10,12 @@ Release date: 2014-01-05 Core and Builtins ----------------- +- Issue #14432: Remove the thread state field from the frame structure. Fix a + crash when a generator is created in a C thread that is destroyed while the + generator is still used. The issue was that a generator contains a frame, and + the frame kept a reference to the Python state of the destroyed C thread. The + crash occurs when a trace function is setup. + - Issue #19576: PyGILState_Ensure() now initializes threads. At startup, Python has no concrete GIL. If PyGILState_Ensure() is called from a new thread for the first time and PyEval_InitThreads() was not called yet, a GIL needs to be |