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().
This commit is contained in:
Matthias Klose
2004-12-01 07:36:58 +00:00
parent b7754e120b
commit c57bd881ea
2 changed files with 10 additions and 0 deletions

View File

@@ -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