bpo-38644: Make tstate more explicit inside pystate.c (GH-19182)

Fix PyInterpreterState_New(): Don't call PyErr_SetString() when there
is no current Python thread state (if tstate is NULL).
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index f78ab99..b5c647f 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -1119,6 +1119,8 @@
    Return the interpreter's unique ID.  If there was any error in doing
    so then ``-1`` is returned and an error is set.
 
+   The caller must hold the GIL.
+
    .. versionadded:: 3.7
 
 
diff --git a/Doc/c-api/module.rst b/Doc/c-api/module.rst
index 8cf26fb..cf1df28 100644
--- a/Doc/c-api/module.rst
+++ b/Doc/c-api/module.rst
@@ -527,6 +527,8 @@
    mechanisms (either by calling it directly, or by referring to its
    implementation for details of the required state updates).
 
+   The caller must hold the GIL.
+
    Return 0 on success or -1 on failure.
 
    .. versionadded:: 3.3
@@ -536,4 +538,6 @@
    Removes the module object created from *def* from the interpreter state.
    Return 0 on success or -1 on failure.
 
+   The caller must hold the GIL.
+
    .. versionadded:: 3.3