Hye-Shik Chang's fix for Bug 875692.
Improve signal handling, especially when using threads, by forcing an early re-execution of PyEval_EvalFrame() "periodic" code when things_to_do is not cleared by Py_MakePendingCalls(). M Misc/NEWS M Python/ceval.c
This commit is contained in:
parent
8e6f2ded30
commit
4c79a83e0c
13
Misc/NEWS
13
Misc/NEWS
|
@ -4,6 +4,19 @@ Python News
|
|||
|
||||
(editors: check NEWS.help for information about editing NEWS using ReST.)
|
||||
|
||||
What's New in Python 2.4 release candidate 2
|
||||
=====================================================
|
||||
|
||||
*Release date: XX-NOV-2004*
|
||||
|
||||
Core and builtins
|
||||
-----------------
|
||||
|
||||
- Bug 875692: Improve signal handling, especially when using threads, by
|
||||
forcing an early re-execution of PyEval_EvalFrame() "periodic" code when
|
||||
things_to_do is not cleared by Py_MakePendingCalls().
|
||||
|
||||
|
||||
What's New in Python 2.4 (release candidate 1|beta 3)
|
||||
=====================================================
|
||||
|
||||
|
|
|
@ -786,6 +786,12 @@ PyEval_EvalFrame(PyFrameObject *f)
|
|||
why = WHY_EXCEPTION;
|
||||
goto on_error;
|
||||
}
|
||||
if (things_to_do)
|
||||
/* MakePendingCalls() didn't succeed.
|
||||
Force early re-execution of this
|
||||
"periodic" code, possibly after
|
||||
a thread switch */
|
||||
_Py_Ticker = 0;
|
||||
}
|
||||
#ifdef WITH_THREAD
|
||||
if (interpreter_lock) {
|
||||
|
|
Loading…
Reference in New Issue