diff options
author | Victor Stinner <vstinner@python.org> | 2020-03-13 17:03:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-13 17:03:56 (GMT) |
commit | ff4584caca04cb3da0dbd5b1e9bf67e40adf5312 (patch) | |
tree | fedb1e89a042baedb4475e76b12fcf79e2f77837 /Modules/posixmodule.c | |
parent | 6d674a1bf456945eb758e85c11484a9f1494f2b4 (diff) | |
download | cpython-ff4584caca04cb3da0dbd5b1e9bf67e40adf5312.zip cpython-ff4584caca04cb3da0dbd5b1e9bf67e40adf5312.tar.gz cpython-ff4584caca04cb3da0dbd5b1e9bf67e40adf5312.tar.bz2 |
bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)
Replace _PyInterpreterState_Get() function call with
_PyInterpreterState_GET_UNSAFE() macro which is more efficient but
don't check if tstate or interp is NULL.
_Py_GetConfigsAsDict() now uses _PyThreadState_GET().
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r-- | Modules/posixmodule.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 29aeca4..dc76bb2 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -451,7 +451,7 @@ run_at_forkers(PyObject *lst, int reverse) void PyOS_BeforeFork(void) { - run_at_forkers(_PyInterpreterState_Get()->before_forkers, 1); + run_at_forkers(_PyInterpreterState_GET_UNSAFE()->before_forkers, 1); _PyImport_AcquireLock(); } @@ -462,7 +462,7 @@ PyOS_AfterFork_Parent(void) if (_PyImport_ReleaseLock() <= 0) Py_FatalError("failed releasing import lock after fork"); - run_at_forkers(_PyInterpreterState_Get()->after_forkers_parent, 0); + run_at_forkers(_PyInterpreterState_GET_UNSAFE()->after_forkers_parent, 0); } void @@ -476,7 +476,7 @@ PyOS_AfterFork_Child(void) _PyRuntimeState_ReInitThreads(runtime); _PyInterpreterState_DeleteExceptMain(runtime); - run_at_forkers(_PyInterpreterState_Get()->after_forkers_child, 0); + run_at_forkers(_PyInterpreterState_GET_UNSAFE()->after_forkers_child, 0); } static int @@ -6177,7 +6177,7 @@ os_register_at_fork_impl(PyObject *module, PyObject *before, check_null_or_callable(after_in_parent, "after_in_parent")) { return NULL; } - interp = _PyInterpreterState_Get(); + interp = _PyInterpreterState_GET_UNSAFE(); if (register_at_forker(&interp->before_forkers, before)) { return NULL; @@ -6208,7 +6208,7 @@ os_fork1_impl(PyObject *module) { pid_t pid; - if (_PyInterpreterState_Get() != PyInterpreterState_Main()) { + if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) { PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters"); return NULL; } @@ -6243,7 +6243,7 @@ os_fork_impl(PyObject *module) { pid_t pid; - if (_PyInterpreterState_Get() != PyInterpreterState_Main()) { + if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) { PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters"); return NULL; } @@ -6851,7 +6851,7 @@ os_forkpty_impl(PyObject *module) int master_fd = -1; pid_t pid; - if (_PyInterpreterState_Get() != PyInterpreterState_Main()) { + if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) { PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters"); return NULL; } |