diff options
author | Johan Dahlin <johan@src.gnome.org> | 2005-07-17 20:05:47 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2005-07-17 20:05:47 +0000 |
commit | 4d83c8260c2a95b29d5375bfa6c46bd8dc1309d4 (patch) | |
tree | 16fe16ab580184e597eb1681a1269596a0168f32 /gobject/gobjectmodule.c | |
parent | 233789c73ffcbbe18b8dffdcf91416875f99c3a4 (diff) | |
download | pygobject-4d83c8260c2a95b29d5375bfa6c46bd8dc1309d4.tar.gz pygobject-4d83c8260c2a95b29d5375bfa6c46bd8dc1309d4.tar.xz pygobject-4d83c8260c2a95b29d5375bfa6c46bd8dc1309d4.zip |
Remove pre python 2.3.5 compatibility. Simplifies thread handling.
* gobject/pygobject.h:
* gobject/gobjectmodule.c (pyg_gil_state_ensure_py23)
(pyg_gil_state_release_py23): Remove pre python 2.3.5 compatibility.
Simplifies thread handling.
Diffstat (limited to 'gobject/gobjectmodule.c')
-rw-r--r-- | gobject/gobjectmodule.c | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index e038bfa..603ca23 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -1926,12 +1926,6 @@ pyg_enable_threads () pygobject_api_functions.threads_enabled = TRUE; pyg_thread_state_tls_key = PyThread_create_key(); } - if (PYGIL_API_IS_BUGGY && !use_gil_state_api) { - PyThreadState* state; - state = PyThreadState_Get(); - if ( state != NULL ) - PyThread_set_key_value(pyg_thread_state_tls_key, state); - } return 0; #else @@ -1941,54 +1935,16 @@ pyg_enable_threads () #endif } -static PyThreadState * -pyg_find_thread_state (void) -{ - PyThreadState* state; - - if (pyg_thread_state_tls_key == -1) - return NULL; - state = PyThread_get_key_value(pyg_thread_state_tls_key); - if (state == NULL) { - state = PyGILState_GetThisThreadState(); - if (state != NULL) - PyThread_set_key_value(pyg_thread_state_tls_key, state); - } - return state; -} - static int pyg_gil_state_ensure_py23 (void) { - if (PYGIL_API_IS_BUGGY && !use_gil_state_api) { - PyThreadState* state = pyg_find_thread_state(); - - if (state == NULL) - return PyGILState_LOCKED; - - if (state == _PyThreadState_Current) - return PyGILState_LOCKED; - else { - PyEval_RestoreThread(state); - return PyGILState_UNLOCKED; - } - } else { - return PyGILState_Ensure(); - } + return PyGILState_Ensure(); } static void pyg_gil_state_release_py23 (int flag) { - if (PYGIL_API_IS_BUGGY && !use_gil_state_api) { - if (flag == PyGILState_UNLOCKED) { - PyThreadState* state = pyg_find_thread_state(); - if (state != NULL) - PyEval_ReleaseThread(state); - } - } else { - PyGILState_Release(flag); - } + PyGILState_Release(flag); } static PyObject * |