Update to 2.55.2
This commit is contained in:
parent
14f6fc54a9
commit
ad56827ff1
@ -1,106 +0,0 @@
|
|||||||
From 94b38beff1347ec4a733199f7a7abdacaa958678 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Philip Withnall <withnall@endlessm.com>
|
|
||||||
Date: Wed, 17 Jan 2018 11:38:50 +0000
|
|
||||||
Subject: [PATCH] gmain: Partial revert of recent wakeup changes to gmain.c
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This reverts the following commits (but keeps the other recent changes
|
|
||||||
to gmain.c):
|
|
||||||
• e4ee3079c Do not wake up main loop if change is from same thread
|
|
||||||
• 208702404 main: Create a helper function for "owner wakeup" optimization
|
|
||||||
• 0c0469b56 gmain: Signal wakeups if context has never been acquired as well
|
|
||||||
• 9ba95e25b gmain: only signal GWakeup right before or during a blocking poll
|
|
||||||
|
|
||||||
Some combination of them is causing problems with LibreOffice and/or
|
|
||||||
WebKit, and the safest thing to do at the moment is revert them all
|
|
||||||
until we work out what’s going on. The previous revert (4976e8109) was
|
|
||||||
not sufficient (it fixed WebKit, but re-broken LibreOffice).
|
|
||||||
|
|
||||||
By reverting, we gain some spurious wakeups, but avoid dropping
|
|
||||||
necessary wakeups, which is presumably what’s causing problems in the
|
|
||||||
other modules.
|
|
||||||
|
|
||||||
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=761102
|
|
||||||
---
|
|
||||||
glib/gmain.c | 33 +++++----------------------------
|
|
||||||
1 file changed, 5 insertions(+), 28 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/glib/gmain.c b/glib/gmain.c
|
|
||||||
index 8ca54de3a45b..67102cdf75d0 100644
|
|
||||||
--- a/glib/gmain.c
|
|
||||||
+++ b/glib/gmain.c
|
|
||||||
@@ -1118,29 +1118,6 @@ 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)
|
|
||||||
-{
|
|
||||||
- /* 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);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
static guint
|
|
||||||
g_source_attach_unlocked (GSource *source,
|
|
||||||
GMainContext *context,
|
|
||||||
@@ -1187,8 +1164,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)
|
|
||||||
- conditional_wakeup (context);
|
|
||||||
+ if (do_wakeup && context->owner && context->owner != G_THREAD_SELF)
|
|
||||||
+ g_wakeup_signal (context->wakeup);
|
|
||||||
|
|
||||||
return source->source_id;
|
|
||||||
}
|
|
||||||
@@ -1878,7 +1855,7 @@ g_source_set_ready_time (GSource *source,
|
|
||||||
{
|
|
||||||
/* Quite likely that we need to change the timeout on the poll */
|
|
||||||
if (!SOURCE_BLOCKED (source))
|
|
||||||
- conditional_wakeup (context);
|
|
||||||
+ g_wakeup_signal (context->wakeup);
|
|
||||||
UNLOCK_CONTEXT (context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4318,7 +4295,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() */
|
|
||||||
- conditional_wakeup (context);
|
|
||||||
+ g_wakeup_signal (context->wakeup);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -4378,7 +4355,7 @@ 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() */
|
|
||||||
- conditional_wakeup (context);
|
|
||||||
+ g_wakeup_signal (context->wakeup);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
11
glib2.spec
11
glib2.spec
@ -4,18 +4,14 @@
|
|||||||
%global __python %{__python3}
|
%global __python %{__python3}
|
||||||
|
|
||||||
Name: glib2
|
Name: glib2
|
||||||
Version: 2.55.1
|
Version: 2.55.2
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A library of handy utility functions
|
Summary: A library of handy utility functions
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
Source0: http://download.gnome.org/sources/glib/2.55/glib-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/glib/2.55/glib-%{version}.tar.xz
|
||||||
|
|
||||||
# Backported from upstream
|
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=761102
|
|
||||||
Patch0: 0001-gmain-Partial-revert-of-recent-wakeup-changes-to-gma.patch
|
|
||||||
|
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
@ -225,6 +221,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
|
|||||||
%{_datadir}/installed-tests
|
%{_datadir}/installed-tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 07 2018 Kalev Lember <klember@redhat.com> - 2.55.2-1
|
||||||
|
- Update to 2.55.2
|
||||||
|
|
||||||
* Wed Jan 31 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.55.1-3
|
* Wed Jan 31 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.55.1-3
|
||||||
- Switch to %%ldconfig_scriptlets
|
- Switch to %%ldconfig_scriptlets
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (glib-2.55.1.tar.xz) = 2a381d132d121afd02602232298a0be3ee3f46ddd31bb34ebe56ea9fdc8d5f8b6e55259078081f260aacbeba4e9a6043fb1e2ae28e0356dbfc09ace3fbe94859
|
SHA512 (glib-2.55.2.tar.xz) = 07fbb6b948200c7c73ef5e1e4ed76709f263acad1bfa572e9e88ad93098dbaa8159271dc6eaabc8f843200b68f8a1423c92b4c9d848412560ff6711e49408aab
|
||||||
|
Loading…
Reference in New Issue
Block a user