summaryrefslogtreecommitdiffstats
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-03-04 13:21:28 (GMT)
committerGitHub <noreply@github.com>2019-03-04 13:21:28 (GMT)
commit4d61e6e3b802399be62a521d6fa785698cb670b5 (patch)
tree9eb5258b1479331b29b9ce00e6b55c1dc01f9d06 /Python/pylifecycle.c
parentf4b0a1c0da80318e0a4f4c70d2722f01ce3512dd (diff)
downloadcpython-4d61e6e3b802399be62a521d6fa785698cb670b5.zip
cpython-4d61e6e3b802399be62a521d6fa785698cb670b5.tar.gz
cpython-4d61e6e3b802399be62a521d6fa785698cb670b5.tar.bz2
Revert: bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617) (GH-12159)
* Revert "bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as necessary). (#12003)" This reverts commit bcfa450f210074e16feb761ae5b3e966a2532fcf. * Revert "bpo-33608: Simplify ceval's DISPATCH by hoisting eval_breaker ahead of time. (gh-12062)" This reverts commit bda918bf65a88560ec453aaba0758a9c0d49b449. * Revert "bpo-33608: Use _Py_AddPendingCall() in _PyCrossInterpreterData_Release(). (gh-12024)" This reverts commit b05b711a2cef6c6c381e01069dedac372e0b9fb2. * Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617)" This reverts commit ef4ac967e2f3a9a18330cc6abe14adb4bc3d0465.
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c24
1 files changed, 0 insertions, 24 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 088e7aa..a5cfc07 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1460,32 +1460,8 @@ Py_EndInterpreter(PyThreadState *tstate)
if (tstate->frame != NULL)
Py_FatalError("Py_EndInterpreter: thread still has a frame");
- // Mark as finalizing.
- if (interp->ceval.pending.lock != NULL) {
- PyThread_acquire_lock(interp->ceval.pending.lock, 1);
- }
- interp->finalizing = 1;
- if (interp->ceval.pending.lock != NULL) {
- PyThread_release_lock(interp->ceval.pending.lock);
- }
-
- // Wrap up existing threads.
wait_for_thread_shutdown();
- // Make any pending calls.
- if (_Py_atomic_load_relaxed(
- &(interp->ceval.pending.calls_to_do)))
- {
- // XXX Ensure that the interpreter is running in the current thread?
- if (_Py_MakePendingCalls(interp) < 0) {
- PyObject *exc, *val, *tb;
- PyErr_Fetch(&exc, &val, &tb);
- PyErr_BadInternalCall();
- _PyErr_ChainExceptions(exc, val, tb);
- PyErr_Print();
- }
- }
-
call_py_exitfuncs(interp);
if (tstate != interp->tstate_head || tstate->next != NULL)