From cfc3c2f8b34d3864717ab584c5b6c260014ba55a Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 8 Apr 2020 22:10:53 +0200 Subject: [PATCH] bpo-37127: Remove _pending_calls.finishing (GH-19439) --- Include/internal/pycore_pystate.h | 1 - Python/ceval.c | 16 ---------------- 2 files changed, 17 deletions(-) diff --git a/Include/internal/pycore_pystate.h b/Include/internal/pycore_pystate.h index 50d906c4c6d..fba0b6f9208 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 2e94f32f6c0..e219ef388cc 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; }