bpo-46008: Add _PyInterpreterState_Main(). (gh-29978)

PyInterpreterState_Main() is a plain function exposed in the public C-API. For internal usage we can take the more efficient approach in this PR.

https://bugs.python.org/issue46008
This commit is contained in:
Eric Snow 2021-12-07 18:56:06 -07:00 committed by GitHub
parent 1f384e3184
commit 758b74e71e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 9 deletions

View file

@ -6696,7 +6696,7 @@ os_fork1_impl(PyObject *module)
{
pid_t pid;
if (_PyInterpreterState_GET() != PyInterpreterState_Main()) {
if (!_Py_IsMainInterpreter(_PyInterpreterState_GET())) {
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
return NULL;
}
@ -7348,7 +7348,7 @@ os_forkpty_impl(PyObject *module)
int master_fd = -1;
pid_t pid;
if (_PyInterpreterState_GET() != PyInterpreterState_Main()) {
if (!_Py_IsMainInterpreter(_PyInterpreterState_GET())) {
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
return NULL;
}