SF patch 1044089: New C API function PyEval_ThreadsInitialized(), by Nick

Coghlan, for determining whether PyEval_InitThreads() has been called.
Also purged the undocumented+unused _PyThread_Started int.
This commit is contained in:
Tim Peters 2004-10-11 02:40:51 +00:00
parent 89c0ec9beb
commit 7f468f29f4
7 changed files with 24 additions and 10 deletions

View file

@ -203,17 +203,20 @@ PyEval_GetCallStats(PyObject *self)
#endif
#include "pythread.h"
extern int _PyThread_Started; /* Flag for Py_Exit */
static PyThread_type_lock interpreter_lock = 0; /* This is the GIL */
static long main_thread = 0;
int
PyEval_ThreadsInitialized(void)
{
return interpreter_lock != 0;
}
void
PyEval_InitThreads(void)
{
if (interpreter_lock)
return;
_PyThread_Started = 1;
interpreter_lock = PyThread_allocate_lock();
PyThread_acquire_lock(interpreter_lock, 1);
main_thread = PyThread_get_thread_ident();

View file

@ -1517,7 +1517,6 @@ Py_FatalError(const char *msg)
#ifdef WITH_THREAD
#include "pythread.h"
int _PyThread_Started = 0; /* Set by threadmodule.c and maybe others */
#endif
#define NEXITFUNCS 32