Kaydet (Commit) c57bd881 authored tarafından Matthias Klose's avatar Matthias Klose

Taken from 2.4/HEAD:

- 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().
üst b7754e12
......@@ -36,6 +36,10 @@ Core and builtins
- Bug #845802: Python crashed when __init__.py is a directory.
- 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().
Extension modules
-----------------
......
......@@ -785,6 +785,12 @@ eval_frame(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;
}
#if !defined(HAVE_SIGNAL_H) || defined(macintosh)
/* If we have true signals, the signal handler
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment