[Python-checkins] bpo-37127: Remove _pending_calls.finishing (GH-19439)
Victor Stinner
webhook-mailer at python.org
Wed Apr 8 16:11:00 EDT 2020
https://github.com/python/cpython/commit/cfc3c2f8b34d3864717ab584c5b6c260014ba55a
commit: cfc3c2f8b34d3864717ab584c5b6c260014ba55a
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-04-08T22:10:53+02:00
summary:
bpo-37127: Remove _pending_calls.finishing (GH-19439)
files:
M Include/internal/pycore_pystate.h
M Python/ceval.c
diff --git a/Include/internal/pycore_pystate.h b/Include/internal/pycore_pystate.h
index 50d906c4c6dde..fba0b6f920817 100644
--- a/Include/internal/pycore_pystate.h
+++ b/Include/internal/pycore_pystate.h
@@ -16,7 +16,6 @@ extern "C" {
/* ceval state */
struct _pending_calls {
- int finishing;
PyThread_type_lock lock;
/* Request for running pending calls. */
_Py_atomic_int calls_to_do;
diff --git a/Python/ceval.c b/Python/ceval.c
index 2e94f32f6c00b..e219ef388ccd1 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -547,18 +547,6 @@ _PyEval_AddPendingCall(PyThreadState *tstate,
assert(pending->lock != NULL);
PyThread_acquire_lock(pending->lock, WAIT_LOCK);
- if (pending->finishing) {
- PyThread_release_lock(pending->lock);
-
- PyObject *exc, *val, *tb;
- _PyErr_Fetch(tstate, &exc, &val, &tb);
- _PyErr_SetString(tstate, PyExc_SystemError,
- "Py_AddPendingCall: cannot add pending calls "
- "(Python shutting down)");
- _PyErr_Print(tstate);
- _PyErr_Restore(tstate, exc, val, tb);
- return -1;
- }
int result = _push_pending_call(pending, func, arg);
PyThread_release_lock(pending->lock);
@@ -666,10 +654,6 @@ _Py_FinishPendingCalls(PyThreadState *tstate)
struct _pending_calls *pending = &tstate->interp->ceval.pending;
- PyThread_acquire_lock(pending->lock, WAIT_LOCK);
- pending->finishing = 1;
- PyThread_release_lock(pending->lock);
-
if (!_Py_atomic_load_relaxed(&(pending->calls_to_do))) {
return;
}
More information about the Python-checkins
mailing list