Issue #17522: Add the PyGILState_Check() API.
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 95ff4ee..377724c 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -654,6 +654,18 @@
    made on the main thread.  This is mainly a helper/diagnostic function.
 
 
+.. c:function:: int PyGILState_Check()
+
+   Return 1 if the current thread is holding the GIL and 0 otherwise.
+   This function can be called from any thread at any time.
+   Only if it has had its Python thread state initialized and currently is
+   holding the GIL will it return 1.
+   This is mainly a helper/diagnostic function.  It can be useful
+   for example in callback contexts or memory allocation functions when
+   knowing that the GIL is locked can allow the caller to perform sensitive
+   actions or otherwise behave differently.
+
+
 The following macros are normally used without a trailing semicolon; look for
 example usage in the Python source distribution.