bpo-37127: Remove _pending_calls.finishing (GH-19439)

diff --git a/Include/internal/pycore_pystate.h b/Include/internal/pycore_pystate.h
index 50d906c..fba0b6f 100644
--- a/Include/internal/pycore_pystate.h
+++ b/Include/internal/pycore_pystate.h
@@ -16,7 +16,6 @@
 /* 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 2e94f32..e219ef3 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -547,18 +547,6 @@
     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 @@
 
     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;
     }