mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
[3.12] gh-104812: Run Pending Calls in any Thread (gh-104813) (gh-105752)
For a while now, pending calls only run in the main thread (in the main interpreter). This PR changes things to allow any thread run a pending call, unless the pending call was explicitly added for the main thread to run.
(cherry picked from commit 757b402
)
This commit is contained in:
parent
75239d5ec1
commit
33d3069c45
17 changed files with 1342 additions and 689 deletions
|
@ -2152,6 +2152,9 @@ Py_EndInterpreter(PyThreadState *tstate)
|
|||
// Wrap up existing "threading"-module-created, non-daemon threads.
|
||||
wait_for_thread_shutdown(tstate);
|
||||
|
||||
// Make any remaining pending calls.
|
||||
_Py_FinishPendingCalls(tstate);
|
||||
|
||||
_PyAtExit_Call(tstate->interp);
|
||||
|
||||
if (tstate != interp->threads.head || tstate->next != NULL) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue