summaryrefslogtreecommitdiffstats
path: root/Include/internal
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-06-03 16:14:24 (GMT)
committerGitHub <noreply@github.com>2019-06-03 16:14:24 (GMT)
commite225bebc1409bcf68db74a35ed3c31222883bf8f (patch)
tree42153d2d48a3f1c784812b4fb54ed3557be713d0 /Include/internal
parent49a7e347976c9b39149ac7505b11ad6e9e2bdeec (diff)
downloadcpython-e225bebc1409bcf68db74a35ed3c31222883bf8f.zip
cpython-e225bebc1409bcf68db74a35ed3c31222883bf8f.tar.gz
cpython-e225bebc1409bcf68db74a35ed3c31222883bf8f.tar.bz2
Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (gh-13714)" (GH-13780)
This reverts commit 6a150bcaeb190d1731b38ab9c7a5d1a352847ddc.
Diffstat (limited to 'Include/internal')
-rw-r--r--Include/internal/pycore_ceval.h13
-rw-r--r--Include/internal/pycore_pystate.h12
2 files changed, 7 insertions, 18 deletions
diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h
index 2c6df9a..4c1c0e2 100644
--- a/Include/internal/pycore_ceval.h
+++ b/Include/internal/pycore_ceval.h
@@ -12,22 +12,19 @@ extern "C" {
#include "pycore_pystate.h"
#include "pythread.h"
+PyAPI_FUNC(void) _Py_FinishPendingCalls(_PyRuntimeState *runtime);
PyAPI_FUNC(void) _PyEval_Initialize(struct _ceval_runtime_state *);
PyAPI_FUNC(void) _PyEval_FiniThreads(
- struct _ceval_runtime_state *);
+ struct _ceval_runtime_state *ceval);
PyAPI_FUNC(void) _PyEval_SignalReceived(
- struct _ceval_runtime_state *);
+ struct _ceval_runtime_state *ceval);
PyAPI_FUNC(int) _PyEval_AddPendingCall(
PyThreadState *tstate,
- struct _ceval_runtime_state *,
- struct _ceval_interpreter_state *,
- unsigned long thread_id,
+ struct _ceval_runtime_state *ceval,
int (*func)(void *),
void *arg);
-PyAPI_FUNC(void) _PyEval_FinishPendingCalls(PyInterpreterState *);
PyAPI_FUNC(void) _PyEval_SignalAsyncExc(
- struct _ceval_runtime_state *,
- struct _ceval_interpreter_state *);
+ struct _ceval_runtime_state *ceval);
PyAPI_FUNC(void) _PyEval_ReInitThreads(
_PyRuntimeState *runtime);
diff --git a/Include/internal/pycore_pystate.h b/Include/internal/pycore_pystate.h
index aca5533..520a74b 100644
--- a/Include/internal/pycore_pystate.h
+++ b/Include/internal/pycore_pystate.h
@@ -25,7 +25,7 @@ struct pyruntimestate;
/* ceval state */
-struct _ceval_pending_calls {
+struct _pending_calls {
int finishing;
PyThread_type_lock lock;
/* Request for running pending calls. */
@@ -36,7 +36,6 @@ struct _ceval_pending_calls {
int async_exc;
#define NPENDINGCALLS 32
struct {
- unsigned long thread_id;
int (*func)(void *);
void *arg;
} calls[NPENDINGCALLS];
@@ -54,21 +53,15 @@ struct _ceval_runtime_state {
int tracing_possible;
/* This single variable consolidates all requests to break out of
the fast path in the eval loop. */
- // XXX This can move to _ceval_interpreter_state once all parts
- // from COMPUTE_EVAL_BREAKER have moved under PyInterpreterState.
_Py_atomic_int eval_breaker;
/* Request for dropping the GIL */
_Py_atomic_int gil_drop_request;
+ struct _pending_calls pending;
/* Request for checking signals. */
_Py_atomic_int signals_pending;
struct _gil_runtime_state gil;
};
-struct _ceval_interpreter_state {
- struct _ceval_pending_calls pending;
-};
-
-
/* interpreter state */
typedef PyObject* (*_PyFrameEvalFunction)(struct _frame *, int);
@@ -143,7 +136,6 @@ struct _is {
uint64_t tstate_next_unique_id;
- struct _ceval_interpreter_state ceval;
struct _warnings_runtime_state warnings;
PyObject *audit_hooks;