mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
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
2 changed files with 19 additions and 0 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue