diff options
author | Mark Shannon <mark@hotpy.org> | 2023-07-03 20:28:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-03 20:28:27 (GMT) |
commit | e5862113dde7a66b08f1ece542a3cfaf0a3d9080 (patch) | |
tree | 1085ca157fffe2548dcdc6227515f19329a6ef8d /Python/ceval_macros.h | |
parent | 7f4c8121db62a9f72f00f2d9f73381e82f289581 (diff) | |
download | cpython-e5862113dde7a66b08f1ece542a3cfaf0a3d9080.zip cpython-e5862113dde7a66b08f1ece542a3cfaf0a3d9080.tar.gz cpython-e5862113dde7a66b08f1ece542a3cfaf0a3d9080.tar.bz2 |
GH-104584: Fix ENTER_EXECUTOR (GH-106141)
* Check eval-breaker in ENTER_EXECUTOR.
* Make sure that frame->prev_instr is set before entering executor.
Diffstat (limited to 'Python/ceval_macros.h')
-rw-r--r-- | Python/ceval_macros.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h index 0d41ef5..72800aa 100644 --- a/Python/ceval_macros.h +++ b/Python/ceval_macros.h @@ -117,7 +117,9 @@ #define CHECK_EVAL_BREAKER() \ _Py_CHECK_EMSCRIPTEN_SIGNALS_PERIODICALLY(); \ if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker)) { \ - goto handle_eval_breaker; \ + if (_Py_HandlePending(tstate) != 0) { \ + goto error; \ + } \ } |