From 8e4d4078183bfb262db3d8a5a5b26dbc79f56109 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 26 Apr 2011 23:34:58 +0200 Subject: [PATCH] PyGILState_Ensure(), PyGILState_Release(), PyGILState_GetThisThreadState() are not available if Python is compiled without threads. --- Include/pystate.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Include/pystate.h b/Include/pystate.h index 50245c2c0ad..a894bb4000b 100644 --- a/Include/pystate.h +++ b/Include/pystate.h @@ -73,9 +73,9 @@ typedef struct _ts { struct _frame *frame; int recursion_depth; char overflowed; /* The stack has overflowed. Allow 50 more calls - to handle the runtime error. */ - char recursion_critical; /* The current calls must not cause - a stack overflow. */ + to handle the runtime error. */ + char recursion_critical; /* The current calls must not cause + a stack overflow. */ /* 'tracing' keeps track of the execution depth when tracing/profiling. This is to prevent the actual trace/profile code from being recorded in the trace/profile. */ @@ -158,6 +158,8 @@ typedef enum {PyGILState_LOCKED, PyGILState_UNLOCKED} PyGILState_STATE; +#ifdef WITH_THREAD + /* Ensure that the current thread is ready to call the Python C API, regardless of the current state of Python, or of its thread lock. This may be called as many times as desired @@ -199,6 +201,8 @@ PyAPI_FUNC(void) PyGILState_Release(PyGILState_STATE); */ PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void); +#endif /* #ifdef WITH_THREAD */ + /* The implementation of sys._current_frames() Returns a dict mapping thread id to that thread's current frame. */