_Py_FinishPendingCalls() Doesn't Necessarily Run All Remaining Pending Calls #118297
Labels
3.12
bugs and security fixes
3.13
bugs and security fixes
interpreter-core
(Objects, Python, Grammar, and Parser dirs)
type-bug
An unexpected behavior, bug, or error
Bug report
Bug description:
In Python/ceval_gil.c,
_Py_FinishPendingCalls()
callsmake_pending_calls()
once.make_pending_calls()
will fail with the first pending call that fails (returns a non-zero value), leaving any remaining pending calls in the queue._Py_FinishPendingCalls()
basically throws away the error and walks away.Instead,
_Py_FinishPendingCalls()
should keep trying until there are no pending calls left in the queue.(I found this while working on gh-110693.)
CPython versions tested on:
3.13
Operating systems tested on:
No response
Linked PRs
The text was updated successfully, but these errors were encountered: