From ca7ad4797385ed05ad0931ae5fb4fd198600ba9c Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 9 May 2017 16:04:57 +0200 Subject: [PATCH] Update to 2.52.2 --- glib2.spec | 10 ++-- gmain-wakeup.patch | 130 --------------------------------------------- sources | 2 +- 3 files changed, 6 insertions(+), 136 deletions(-) delete mode 100644 gmain-wakeup.patch diff --git a/glib2.spec b/glib2.spec index 5418749..1efc9ea 100644 --- a/glib2.spec +++ b/glib2.spec @@ -4,17 +4,14 @@ %global __python %{__python3} Name: glib2 -Version: 2.52.1 -Release: 3%{?dist} +Version: 2.52.2 +Release: 1%{?dist} Summary: A library of handy utility functions License: LGPLv2+ URL: http://www.gtk.org Source0: http://download.gnome.org/sources/glib/2.52/glib-%{version}.tar.xz -# https://bugzilla.gnome.org/show_bug.cgi?id=761102 -Patch0: gmain-wakeup.patch - BuildRequires: chrpath BuildRequires: gettext BuildRequires: perl-generators @@ -232,6 +229,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_datadir}/installed-tests %changelog +* Tue May 09 2017 Kalev Lember - 2.52.2-1 +- Update to 2.52.2 + * Tue Apr 11 2017 Colin Walters - 2.52.1-3 - Backport patches for gmain wakeup for qemu See: https://bugzilla.gnome.org/show_bug.cgi?id=761102 diff --git a/gmain-wakeup.patch b/gmain-wakeup.patch deleted file mode 100644 index f7a3aa6..0000000 --- a/gmain-wakeup.patch +++ /dev/null @@ -1,130 +0,0 @@ -From d26e8979891d549214c955104529177576cd9de0 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 31 Mar 2017 16:19:58 -0400 -Subject: [PATCH 1/2] main: Create a helper function for "owner wakeup" - optimization - -The original patch really should have introduced a helper - among -other things it deserves a code comment. We're likely to make -further changes too, so it's obviously better to only do it in one -place. - -See: https://bugzilla.gnome.org/show_bug.cgi?id=761102 ---- - glib/gmain.c | 28 +++++++++++++++++++--------- - 1 file changed, 19 insertions(+), 9 deletions(-) - -diff --git a/glib/gmain.c b/glib/gmain.c -index 4f90574..88b57fd 100644 ---- a/glib/gmain.c -+++ b/glib/gmain.c -@@ -1118,6 +1118,19 @@ source_remove_from_context (GSource *source, - } - } - -+/* See https://bugzilla.gnome.org/show_bug.cgi?id=761102 for -+ * the introduction of this. -+ * -+ * The main optimization is to avoid waking up the main -+ * context if a change is made by the current owner. -+ */ -+static void -+conditional_wakeup (GMainContext *context) -+{ -+ if (context->owner && context->owner != G_THREAD_SELF) -+ g_wakeup_signal (context->wakeup); -+} -+ - static guint - g_source_attach_unlocked (GSource *source, - GMainContext *context, -@@ -1164,8 +1177,8 @@ g_source_attach_unlocked (GSource *source, - /* If another thread has acquired the context, wake it up since it - * might be in poll() right now. - */ -- if (do_wakeup && context->owner && context->owner != G_THREAD_SELF) -- g_wakeup_signal (context->wakeup); -+ if (do_wakeup) -+ conditional_wakeup (context); - - return source->source_id; - } -@@ -1839,8 +1852,7 @@ g_source_set_ready_time (GSource *source, - { - /* Quite likely that we need to change the timeout on the poll */ - if (!SOURCE_BLOCKED (source)) -- if (context->owner && context->owner != G_THREAD_SELF) -- g_wakeup_signal (context->wakeup); -+ conditional_wakeup (context); - UNLOCK_CONTEXT (context); - } - } -@@ -4352,8 +4364,7 @@ g_main_context_add_poll_unlocked (GMainContext *context, - context->poll_changed = TRUE; - - /* Now wake up the main loop if it is waiting in the poll() */ -- if (context->owner && context->owner != G_THREAD_SELF) -- g_wakeup_signal (context->wakeup); -+ conditional_wakeup (context); - } - - /** -@@ -4411,10 +4422,9 @@ g_main_context_remove_poll_unlocked (GMainContext *context, - } - - context->poll_changed = TRUE; -- -+ - /* Now wake up the main loop if it is waiting in the poll() */ -- if (context->owner && context->owner != G_THREAD_SELF) -- g_wakeup_signal (context->wakeup); -+ conditional_wakeup (context); - } - - /** --- -2.9.3 - - -From c4b3fd1487dad9dece67453cef4954b07dd3bdc1 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Mon, 3 Apr 2017 13:32:32 -0400 -Subject: [PATCH 2/2] gmain: Signal wakeups if context has never been acquired - as well - -Should address backwards compatibility with how qemu is using -`GMainContext`. - -See https://bugzilla.gnome.org/show_bug.cgi?id=761102#c14 - -Input-into-keyboard-by: Colin Walters ---- - glib/gmain.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/glib/gmain.c b/glib/gmain.c -index 88b57fd..f390c46 100644 ---- a/glib/gmain.c -+++ b/glib/gmain.c -@@ -1127,7 +1127,17 @@ source_remove_from_context (GSource *source, - static void - conditional_wakeup (GMainContext *context) - { -- if (context->owner && context->owner != G_THREAD_SELF) -+ /* We want to signal wakeups in two cases: -+ * 1 When the context is owned by another thread -+ * 2 When the context owner is NULL (two subcases) -+ * 2a Possible if the context has never been acquired -+ * 2b Or if the context has no current owner -+ * -+ * At least case 2a) is necessary to ensure backwards compatibility with -+ * qemu's use of GMainContext. -+ * https://bugzilla.gnome.org/show_bug.cgi?id=761102#c14 -+ */ -+ if (context->owner != G_THREAD_SELF) - g_wakeup_signal (context->wakeup); - } - --- -2.9.3 - diff --git a/sources b/sources index 198a632..d44572f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glib-2.52.1.tar.xz) = 6f0475b4ee1078867671a79b1751674926ba1caa872cec3896e2830c61c3cde67972afa9f2d606a2b6705e9846222462b003c6e966a9b63982f3fc3fb58c4d37 +SHA512 (glib-2.52.2.tar.xz) = 3ea49b75b6f80d9974ebd3c40518d5aaffffd9d9d008c1ae3302690fa34899b91ae59c87f8235077129bbd8b01ef19211efb89bc7fdb08d0254b07735b1ba92d