diff options
author | Victor Stinner <vstinner@redhat.com> | 2019-06-04 01:15:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-04 01:15:09 (GMT) |
commit | 0fd2c300c2a85b3b227a907b2a39ef79fa86d850 (patch) | |
tree | ffe391ade17e6d581878f22016b065f7306f3fca /Python/sysmodule.c | |
parent | 9535aff9421f0a5639f6e4c4bb0f07a743ea8dba (diff) | |
download | cpython-0fd2c300c2a85b3b227a907b2a39ef79fa86d850.zip cpython-0fd2c300c2a85b3b227a907b2a39ef79fa86d850.tar.gz cpython-0fd2c300c2a85b3b227a907b2a39ef79fa86d850.tar.bz2 |
Revert "bpo-36818: Add PyInterpreterState.runtime field. (gh-13129)" (GH-13795)
This reverts commit 396e0a8d9dc65453cb9d53500d0a620602656cfe.
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r-- | Python/sysmodule.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 97bff94..12b1bd7 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -120,9 +120,8 @@ should_audit(void) if (!ts) { return 0; } - PyInterpreterState *is = ts->interp; - _PyRuntimeState *runtime = is->runtime; - return runtime->audit_hook_head + PyInterpreterState *is = ts ? ts->interp : NULL; + return _PyRuntime.audit_hook_head || (is && is->audit_hooks) || PyDTrace_AUDIT_ENABLED(); } @@ -281,8 +280,8 @@ void _PySys_ClearAuditHooks(void) { PySys_Audit("cpython._PySys_ClearAuditHooks", NULL); PyErr_Clear(); - _Py_AuditHookEntry *e = runtime->audit_hook_head, *n; - runtime->audit_hook_head = NULL; + _Py_AuditHookEntry *e = _PyRuntime.audit_hook_head, *n; + _PyRuntime.audit_hook_head = NULL; while (e) { n = e->next; PyMem_RawFree(e); @@ -293,7 +292,6 @@ void _PySys_ClearAuditHooks(void) { int PySys_AddAuditHook(Py_AuditHookFunction hook, void *userData) { - _PyRuntimeState *runtime = &_PyRuntime; /* Invoke existing audit hooks to allow them an opportunity to abort. */ /* Cannot invoke hooks until we are initialized */ if (Py_IsInitialized()) { @@ -307,10 +305,10 @@ PySys_AddAuditHook(Py_AuditHookFunction hook, void *userData) } } - _Py_AuditHookEntry *e = runtime->audit_hook_head; + _Py_AuditHookEntry *e = _PyRuntime.audit_hook_head; if (!e) { e = (_Py_AuditHookEntry*)PyMem_RawMalloc(sizeof(_Py_AuditHookEntry)); - runtime->audit_hook_head = e; + _PyRuntime.audit_hook_head = e; } else { while (e->next) e = e->next; @@ -2415,9 +2413,8 @@ static PyStructSequence_Desc flags_desc = { }; static PyObject* -make_flags(PyInterpreterState *interp) +make_flags(_PyRuntimeState *runtime, PyInterpreterState *interp) { - _PyRuntimeState *runtime = interp->runtime; int pos = 0; PyObject *seq; const PyPreConfig *preconfig = &runtime->preconfig; @@ -2636,7 +2633,8 @@ static struct PyModuleDef sysmodule = { } while (0) static PyStatus -_PySys_InitCore(PyInterpreterState *interp, PyObject *sysdict) +_PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp, + PyObject *sysdict) { PyObject *version_info; int res; @@ -2730,7 +2728,7 @@ _PySys_InitCore(PyInterpreterState *interp, PyObject *sysdict) } } /* Set flags to their default values (updated by _PySys_InitMain()) */ - SET_SYS_FROM_STRING("flags", make_flags(interp)); + SET_SYS_FROM_STRING("flags", make_flags(runtime, interp)); #if defined(MS_WINDOWS) /* getwindowsversion */ @@ -2851,7 +2849,7 @@ sys_create_xoptions_dict(const PyConfig *config) int -_PySys_InitMain(PyInterpreterState *interp) +_PySys_InitMain(_PyRuntimeState *runtime, PyInterpreterState *interp) { PyObject *sysdict = interp->sysdict; const PyConfig *config = &interp->config; @@ -2905,7 +2903,7 @@ _PySys_InitMain(PyInterpreterState *interp) #undef SET_SYS_FROM_WSTR /* Set flags to their final values */ - SET_SYS_FROM_STRING_INT_RESULT("flags", make_flags(interp)); + SET_SYS_FROM_STRING_INT_RESULT("flags", make_flags(runtime, interp)); /* prevent user from creating new instances */ FlagsType.tp_init = NULL; FlagsType.tp_new = NULL; @@ -2972,7 +2970,8 @@ error: /* Create sys module without all attributes: _PySys_InitMain() should be called later to add remaining attributes. */ PyStatus -_PySys_Create(PyInterpreterState *interp, PyObject **sysmod_p) +_PySys_Create(_PyRuntimeState *runtime, PyInterpreterState *interp, + PyObject **sysmod_p) { PyObject *modules = PyDict_New(); if (modules == NULL) { @@ -3001,7 +3000,7 @@ _PySys_Create(PyInterpreterState *interp, PyObject **sysmod_p) return status; } - status = _PySys_InitCore(interp, sysdict); + status = _PySys_InitCore(runtime, interp, sysdict); if (_PyStatus_EXCEPTION(status)) { return status; } |