r17759 - in /desktop/experimental/pygobject/debian: changelog patches/64_gil_locking.patch patches/series
sjoerd at users.alioth.debian.org
sjoerd at users.alioth.debian.org
Fri Nov 28 15:46:32 UTC 2008
Author: sjoerd
Date: Fri Nov 28 15:46:32 2008
New Revision: 17759
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=17759
Log:
* debian/patches/64_gil_lock.patch, added.
+ Release the python GIL lock when getting properties and unreffing
objects. Prevents deadlocks when using farsight2.
Added:
desktop/experimental/pygobject/debian/patches/64_gil_locking.patch
Modified:
desktop/experimental/pygobject/debian/changelog
desktop/experimental/pygobject/debian/patches/series
Modified: desktop/experimental/pygobject/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/pygobject/debian/changelog?rev=17759&op=diff
==============================================================================
--- desktop/experimental/pygobject/debian/changelog (original)
+++ desktop/experimental/pygobject/debian/changelog Fri Nov 28 15:46:32 2008
@@ -1,3 +1,11 @@
+pygobject (2.15.4-2) experimental; urgency=low
+
+ * debian/patches/64_gil_lock.patch, added.
+ + Release the python GIL lock when getting properties and unreffing
+ objects. Prevents deadlocks when using farsight2.
+
+ -- Sjoerd Simons <sjoerd at debian.org> Fri, 28 Nov 2008 16:07:42 +0100
+
pygobject (2.15.4-1) experimental; urgency=low
[ Emilio Pozuelo Monfort ]
Added: desktop/experimental/pygobject/debian/patches/64_gil_locking.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/pygobject/debian/patches/64_gil_locking.patch?rev=17759&op=file
==============================================================================
--- desktop/experimental/pygobject/debian/patches/64_gil_locking.patch (added)
+++ desktop/experimental/pygobject/debian/patches/64_gil_locking.patch Fri Nov 28 15:46:32 2008
@@ -1,0 +1,45 @@
+--- a/gobject/pygobject.c (revision 975)
++++ b/gobject/pygobject.c (working copy)
+@@ -291,7 +291,9 @@
+ }
+
+ g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec));
++ pyg_begin_allow_threads;
+ g_object_get_property(self->pygobject->obj, attr_name, &value);
++ pyg_end_allow_threads;
+ ret = pyg_param_gvalue_as_pyobject(&value, TRUE, pspec);
+ g_value_unset(&value);
+
+@@ -1066,8 +1068,11 @@
+ if (self->inst_dict) {
+ g_object_remove_toggle_ref(self->obj, pyg_toggle_notify, self);
+ self->private_flags.flags &= ~PYGOBJECT_USING_TOGGLE_REF;
+- } else
++ } else {
++ pyg_begin_allow_threads;
+ g_object_unref(self->obj);
++ pyg_end_allow_threads;
++ }
+ self->obj = NULL;
+ }
+ Py_CLEAR(self->inst_dict);
+@@ -1197,7 +1202,9 @@
+ return NULL;
+ }
+ g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec));
++ pyg_begin_allow_threads;
+ g_object_get_property(self->obj, param_name, &value);
++ pyg_end_allow_threads;
+ ret = pyg_param_gvalue_as_pyobject(&value, TRUE, pspec);
+ g_value_unset(&value);
+ return ret;
+@@ -1247,7 +1254,9 @@
+ }
+ g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec));
+
++ pyg_begin_allow_threads;
+ g_object_get_property(self->obj, property_name, &value);
++ pyg_end_allow_threads;
+
+ item = pyg_value_as_pyobject(&value, TRUE);
+ PyTuple_SetItem(tuple, i, item);
Modified: desktop/experimental/pygobject/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/pygobject/debian/patches/series?rev=17759&op=diff
==============================================================================
--- desktop/experimental/pygobject/debian/patches/series (original)
+++ desktop/experimental/pygobject/debian/patches/series Fri Nov 28 15:46:32 2008
@@ -3,4 +3,5 @@
61_wakeupfd-fctnl-and-read.patch
62_install-pyglib-in-libdir-with-python-version.patch
63_macro-dir.patch
+64_gil_locking.patch
90_autofoo.patch
More information about the pkg-gnome-commits
mailing list