From 77e13af5e317d5950d647f7e7ce002d651ff947a Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Fri, 2 Oct 2009 16:50:18 +0200 Subject: [PATCH] glib-2.0: update to 2.22.1 --- conf/checksums.ini | 4 +++ recipes/glib-2.0/bug-556515.patch | 35 +++++++++++++++++++ .../atomic-thumb.patch | 0 .../bug-556515.patch | 0 .../configure-libtool.patch | 0 .../gobject.patch | 0 ...ve_2.22.0.bb => glib-2.0-native_2.22.1.bb} | 0 ...{glib-2.0_2.22.0.bb => glib-2.0_2.22.1.bb} | 0 8 files changed, 39 insertions(+) create mode 100644 recipes/glib-2.0/bug-556515.patch rename recipes/glib-2.0/{glib-2.0-2.22.0 => glib-2.0-2.22.1}/atomic-thumb.patch (100%) rename recipes/glib-2.0/{glib-2.0-2.22.0 => glib-2.0-2.22.1}/bug-556515.patch (100%) rename recipes/glib-2.0/{glib-2.0-2.22.0 => glib-2.0-2.22.1}/configure-libtool.patch (100%) rename recipes/glib-2.0/{glib-2.0-2.22.0 => glib-2.0-2.22.1}/gobject.patch (100%) rename recipes/glib-2.0/{glib-2.0-native_2.22.0.bb => glib-2.0-native_2.22.1.bb} (100%) rename recipes/glib-2.0/{glib-2.0_2.22.0.bb => glib-2.0_2.22.1.bb} (100%) diff --git a/conf/checksums.ini b/conf/checksums.ini index 949dbf2159..bb61d09889 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -8270,6 +8270,10 @@ sha256=8b4750523a07102c90c7eecf1743f852ce2aadcb7a43284a9e06baf70beb9b8a md5=e0bc5b08d467cc3763550923087772d3 sha256=f77cda95fa7cea5e7ad189ac18a165bb3886a66bc5f97c6398a9e5dc16c8a671 +[http://ftp.gnome.org/pub/GNOME/sources/glib/2.22/glib-2.22.1.tar.bz2] +md5=12297a7da577321647b38ade0593cb3c +sha256=4898d340c830a5903115412ec5b95eb03b410efdfb1c5316d36f12f8be85577d + [ftp://ftp.gtk.org/pub/gtk/v2.4/glib-2.4.6.tar.bz2] md5=a45db7d82480da431f6cd00ea041a534 sha256=d2ca79bac06a625d9276b48492c2c1caccf7f8962f9b331b39796391013e72f2 diff --git a/recipes/glib-2.0/bug-556515.patch b/recipes/glib-2.0/bug-556515.patch new file mode 100644 index 0000000000..0af15a6f8f --- /dev/null +++ b/recipes/glib-2.0/bug-556515.patch @@ -0,0 +1,35 @@ +https://bugzilla.gnome.org/show_bug.cgi?id=556515 - g_object_unref race condition + + +diff --git /tmp/gobject.c glib-2.21.6/gobject/gobject.c +index 454d8c2..75f479c 100644 +--- /tmp/gobject.c ++++ glib-2.21.6/gobject/gobject.c +@@ -2380,11 +2380,12 @@ g_object_unref (gpointer _object) + old_ref = g_atomic_int_get (&object->ref_count); + if (old_ref > 1) + { ++ gboolean do_toggle_ref_notify = (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object)); + if (!g_atomic_int_compare_and_exchange ((int *)&object->ref_count, old_ref, old_ref - 1)) + goto retry_atomic_decrement1; + + /* if we went from 2->1 we need to notify toggle refs if any */ +- if (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object)) ++ if (do_toggle_ref_notify) + toggle_refs_notify (object, TRUE); + } + else +@@ -2397,11 +2398,12 @@ g_object_unref (gpointer _object) + old_ref = g_atomic_int_get ((int *)&object->ref_count); + if (old_ref > 1) + { ++ gboolean do_toggle_ref_notify = (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object)); + if (!g_atomic_int_compare_and_exchange ((int *)&object->ref_count, old_ref, old_ref - 1)) + goto retry_atomic_decrement2; + + /* if we went from 2->1 we need to notify toggle refs if any */ +- if (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object)) ++ if (do_toggle_ref_notify) + toggle_refs_notify (object, TRUE); + + return; diff --git a/recipes/glib-2.0/glib-2.0-2.22.0/atomic-thumb.patch b/recipes/glib-2.0/glib-2.0-2.22.1/atomic-thumb.patch similarity index 100% rename from recipes/glib-2.0/glib-2.0-2.22.0/atomic-thumb.patch rename to recipes/glib-2.0/glib-2.0-2.22.1/atomic-thumb.patch diff --git a/recipes/glib-2.0/glib-2.0-2.22.0/bug-556515.patch b/recipes/glib-2.0/glib-2.0-2.22.1/bug-556515.patch similarity index 100% rename from recipes/glib-2.0/glib-2.0-2.22.0/bug-556515.patch rename to recipes/glib-2.0/glib-2.0-2.22.1/bug-556515.patch diff --git a/recipes/glib-2.0/glib-2.0-2.22.0/configure-libtool.patch b/recipes/glib-2.0/glib-2.0-2.22.1/configure-libtool.patch similarity index 100% rename from recipes/glib-2.0/glib-2.0-2.22.0/configure-libtool.patch rename to recipes/glib-2.0/glib-2.0-2.22.1/configure-libtool.patch diff --git a/recipes/glib-2.0/glib-2.0-2.22.0/gobject.patch b/recipes/glib-2.0/glib-2.0-2.22.1/gobject.patch similarity index 100% rename from recipes/glib-2.0/glib-2.0-2.22.0/gobject.patch rename to recipes/glib-2.0/glib-2.0-2.22.1/gobject.patch diff --git a/recipes/glib-2.0/glib-2.0-native_2.22.0.bb b/recipes/glib-2.0/glib-2.0-native_2.22.1.bb similarity index 100% rename from recipes/glib-2.0/glib-2.0-native_2.22.0.bb rename to recipes/glib-2.0/glib-2.0-native_2.22.1.bb diff --git a/recipes/glib-2.0/glib-2.0_2.22.0.bb b/recipes/glib-2.0/glib-2.0_2.22.1.bb similarity index 100% rename from recipes/glib-2.0/glib-2.0_2.22.0.bb rename to recipes/glib-2.0/glib-2.0_2.22.1.bb -- 2.39.5