[Python-checkins] cpython: PyGILState_Ensure(), PyGILState_Release(), PyGILState_GetThisThreadState() are

victor.stinner python-checkins at python.org
Tue Apr 26 23:51:15 CEST 2011


http://hg.python.org/cpython/rev/75503c26a17f
changeset:   69584:75503c26a17f
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Tue Apr 26 23:34:58 2011 +0200
summary:
  PyGILState_Ensure(), PyGILState_Release(), PyGILState_GetThisThreadState() are
not available if Python is compiled without threads.

files:
  Include/pystate.h |  10 +++++++---
  1 files changed, 7 insertions(+), 3 deletions(-)


diff --git a/Include/pystate.h b/Include/pystate.h
--- a/Include/pystate.h
+++ b/Include/pystate.h
@@ -73,9 +73,9 @@
     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 @@
     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(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.
 */

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list