summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Matthew <jonathan@d14n.org>2009-04-08 21:54:42 +0000
committerJonathan Matthew <jmatthew@src.gnome.org>2009-04-08 21:54:42 +0000
commitd2dfb0db5f563ba8082ae9cf007814486d8a8c1f (patch)
treebe70bb218846340614636204baec4d778620e6a5
parent82e18dfab3270e5ca972491be2d50d6b3b85f975 (diff)
downloadpygobject-d2dfb0db5f563ba8082ae9cf007814486d8a8c1f.tar.gz
pygobject-d2dfb0db5f563ba8082ae9cf007814486d8a8c1f.tar.xz
pygobject-d2dfb0db5f563ba8082ae9cf007814486d8a8c1f.zip
Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling
2009-04-09 Jonathan Matthew <jonathan@d14n.org> Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling Py_XDECREF * gio/gio.override: Ensure we're holding the GIL before potentially destroying the callback and data. svn path=/trunk/; revision=1057
-rw-r--r--ChangeLog8
-rw-r--r--gio/gio.override4
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c9e7b6..444b3a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-04-09 Jonathan Matthew <jonathan@d14n.org>
+
+ Bug 575781 – pyg_notify_free needs to ensure it has GIL before calling
+ Py_XDECREF
+
+ * gio/gio.override: Ensure we're holding the GIL before potentially
+ destroying the callback and data.
+
2009-04-05 Gian Mario Tagliaretti <gianmt@gnome.org>
* gio/gfile.override:
diff --git a/gio/gio.override b/gio/gio.override
index 300e0c7..5170624 100644
--- a/gio/gio.override
+++ b/gio/gio.override
@@ -145,8 +145,12 @@ pygio_notify_free(PyGIONotify *notify)
{
if (notify) {
if (notify->referenced) {
+ PyGILState_STATE state;
+
+ state = pyg_gil_state_ensure();
Py_XDECREF(notify->callback);
Py_XDECREF(notify->data);
+ pyg_gil_state_release(state);
}
if (notify->buffer)