summaryrefslogtreecommitdiffstats
path: root/glib/glibmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/glibmodule.c')
-rw-r--r--glib/glibmodule.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/glib/glibmodule.c b/glib/glibmodule.c
index 58206eb..74a09db 100644
--- a/glib/glibmodule.c
+++ b/glib/glibmodule.c
@@ -90,6 +90,16 @@ get_handler_priority(gint *priority, PyObject *kwargs)
}
static PyObject *
+pyglib_threads_init(PyObject *unused, PyObject *args, PyObject *kwargs)
+{
+ if (!pyglib_enable_threads())
+ return NULL;
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject *
pyglib_idle_add(PyObject *self, PyObject *args, PyObject *kwargs)
{
PyObject *first, *callback, *cbargs = NULL, *data;
@@ -586,6 +596,12 @@ pyglib_set_prgname(PyObject *self, PyObject *arg)
}
static PyMethodDef _glib_functions[] = {
+ { "threads_init",
+ (PyCFunction) pyglib_threads_init, METH_NOARGS,
+ "threads_init()\n"
+ "Initialize GLib for use from multiple threads. If you also use GTK+\n"
+ "itself (i.e. GUI, not just PyGObject), use gtk.gdk.threads_init()\n"
+ "instead." },
{ "idle_add",
(PyCFunction)pyglib_idle_add, METH_VARARGS|METH_KEYWORDS,
"idle_add(callable, user_data=None, priority=None) -> source id\n"