Python/ceval.c
PyThreadState *
PyEval_SaveThread(void)
{
    PyThreadState *tstate = PyThreadState_Swap(NULL);
    if (tstate == NULL)
        Py_FatalError("PyEval_SaveThread: NULL tstate");
#ifdef WITH_THREAD
    if (gil_created())
        drop_gil(tstate);
#endif
    return tstate;
}
/* Functions save_thread and restore_thread are always defined so
   dynamically loaded modules needn't be compiled separately for use
   with and without threads: */
Functions save_thread and restore_thread are always defined so
dynamically loaded modules needn't be compiled separately for use
with and without threads.
Functions save_thread and restore_thread are always defined so dynamically loaded modules needn ' t be compiled separately for use with and without threads .
PyThreadState *
PyEval_SaveThread(void)
{
    PyThreadState *tstate = PyThreadState_Swap(NULL);
    if (tstate == NULL)
        Py_FatalError("PyEval_SaveThread: NULL tstate");
#ifdef WITH_THREAD
    if (gil_created())
        drop_gil(tstate);
#endif
    return tstate;
}
PyThreadState * PyEval_SaveThread ( void ) { PyThreadState * tstate = PyThreadState_Swap ( NULL ) ; if ( tstate == NULL ) Py_FatalError ( " " ) ; #ifdef WITH_THREAD if ( gil_created ( ) ) drop_gil ( tstate ) ; #endif return tstate ; }
Functions save_thread and restore_thread are always defined so
dynamically loaded modules needn't be compiled separately for use
with and without threads:
Functions save_thread and restore_thread are always defined so dynamically loaded modules needn ' t be compiled separately for use with and without threads :