summaryrefslogtreecommitdiffstats
path: root/glib
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-08-06 08:28:12 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-08-06 08:28:12 +0000
commit6bed68913d23d49ea7a774a9e7daebd2e3624b96 (patch)
tree358a5446bcc7de59f0b03209ae360861bef1545d /glib
parent6f9ecc1cd9cc1498ffac79e1271b831a9be6b364 (diff)
downloadpygobject-6bed68913d23d49ea7a774a9e7daebd2e3624b96.tar.gz
pygobject-6bed68913d23d49ea7a774a9e7daebd2e3624b96.tar.xz
pygobject-6bed68913d23d49ea7a774a9e7daebd2e3624b96.zip
Add a pygobject_enable_threads wrapper around pyglib_threads_enable and
2008-08-06 Johan Dahlin <johan@gnome.org> * glib/pyglib.c (pyglib_enable_threads): * gobject/gobjectmodule.c (pyg_threads_init), (pygobject_enable_threads): Add a pygobject_enable_threads wrapper around pyglib_threads_enable and return 0/-1 which existing gobject based applications expect. svn path=/trunk/; revision=927
Diffstat (limited to 'glib')
-rw-r--r--glib/pyglib.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/glib/pyglib.c b/glib/pyglib.c
index de8cbf9..2bb0d7b 100644
--- a/glib/pyglib.c
+++ b/glib/pyglib.c
@@ -121,25 +121,31 @@ pyglib_gil_state_release(PyGILState_STATE state)
PyGILState_Release(state);
}
+/**
+ * pyglib_enable_threads:
+ *
+ * Returns: TRUE if threading is enabled, FALSE otherwise.
+ *
+ */
#ifdef DISABLE_THREADING
-int
+gboolean
pyglib_enable_threads(void)
{
PyErr_SetString(PyExc_RuntimeError,
"pyglib threading disabled at compile time");
- return -1;
+ return FALSE;
}
#else
/* Enable threading; note that the GIL must be held by the current
* thread when this function is called
*/
-int
+gboolean
pyglib_enable_threads(void)
{
- g_return_val_if_fail (_PyGLib_API != NULL, -1);
+ g_return_val_if_fail (_PyGLib_API != NULL, FALSE);
if (_PyGLib_API->threads_enabled)
- return 0;
+ return TRUE;
PyEval_InitThreads();
if (!g_threads_got_initialized)
@@ -148,7 +154,7 @@ pyglib_enable_threads(void)
_PyGLib_API->threads_enabled = TRUE;
pyglib_thread_state_tls_key = PyThread_create_key();
- return 0;
+ return TRUE;
}
#endif