Issue #17522: Add the PyGILState_Check() API.

This commit is contained in:
Kristján Valur Jónsson 2013-03-23 03:36:16 -07:00
parent d4296fc19c
commit 684cd0e643
4 changed files with 28 additions and 0 deletions

View file

@ -697,6 +697,15 @@ PyGILState_GetThisThreadState(void)
return (PyThreadState *)PyThread_get_key_value(autoTLSkey);
}
int
PyGILState_Check(void)
{
/* can't use PyThreadState_Get() since it will assert that it has the GIL */
PyThreadState *tstate = (PyThreadState*)_Py_atomic_load_relaxed(
&_PyThreadState_Current);
return tstate && (tstate == PyGILState_GetThisThreadState());
}
PyGILState_STATE
PyGILState_Ensure(void)
{