bpo-38858: Add _Py_IsMainInterpreter(tstate) (GH-17293)

diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index befd213..4a651ce 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -1466,9 +1466,9 @@
 _thread__is_main_interpreter_impl(PyObject *module)
 /*[clinic end generated code: output=7dd82e1728339adc input=cc1eb00fd4598915]*/
 {
-    _PyRuntimeState *runtime = &_PyRuntime;
-    PyInterpreterState *interp = _PyRuntimeState_GetThreadState(runtime)->interp;
-    return PyBool_FromLong(interp == runtime->interpreters.main);
+    PyThreadState *tstate = _PyThreadState_GET();
+    int is_main = _Py_IsMainInterpreter(tstate);
+    return PyBool_FromLong(is_main);
 }
 
 static PyMethodDef thread_methods[] = {