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

Jim Jewett jimjjewett at gmail.com
Thu Apr 28 02:18:35 CEST 2011


Would it be a problem to make them available a no-ops?

On 4/26/11, victor.stinner <python-checkins at python.org> wrote:
> 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-Dev mailing list