[packages/glib2] up to 2.52.3
atler
atler at pld-linux.org
Fri Jun 23 11:44:02 CEST 2017
commit 1b5a482d77260969a556c1ca2a06e13ef3d895f2
Author: Jan Palus <atler at pld-linux.org>
Date: Fri Jun 23 11:43:16 2017 +0200
up to 2.52.3
- lo_loop patch no longer needed
glib2-lo_loop.patch | 105 ----------------------------------------------------
glib2.spec | 8 ++--
2 files changed, 3 insertions(+), 110 deletions(-)
---
diff --git a/glib2.spec b/glib2.spec
index 6396bf3..980f64c 100644
--- a/glib2.spec
+++ b/glib2.spec
@@ -19,15 +19,14 @@ Summary(pt_BR.UTF-8): Conjunto de funções gráficas utilitárias
Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı
Summary(zh_CN.UTF-8): 实用工具函数库
Name: glib2
-Version: 2.52.2
-Release: 2
+Version: 2.52.3
+Release: 1
Epoch: 1
License: LGPL v2+
Group: Libraries
Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.52/glib-%{version}.tar.xz
-# Source0-md5: ec099bce26ce6a85104ed1d89bb45856
+# Source0-md5: 89265d0289a436e99cad54491eb21ef4
Patch0: %{name}-makefile.patch
-Patch1: %{name}-lo_loop.patch
URL: http://www.gtk.org/
BuildRequires: autoconf >= 2.62
BuildRequires: automake >= 1:1.11
@@ -236,7 +235,6 @@ Sondy systemtap/dtrace dla GLib 2.
%prep
%setup -q -n glib-%{version}
%patch0 -p1
-%patch1 -p1
%if %{without apidocs}
%{__sed} -e '/SUBDIRS/s/docs//' -i Makefile.am
diff --git a/glib2-lo_loop.patch b/glib2-lo_loop.patch
deleted file mode 100644
index 0f33dce..0000000
--- a/glib2-lo_loop.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 5d74233476d61771b4d67d50bec5420f551ef922 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini at redhat.com>
-Date: Tue, 4 Apr 2017 09:56:47 +0200
-Subject: gmain: only signal GWakeup right before or during a blocking poll
-
-Since commit e4ee307 ("Do not wake up main loop if change is from same
-thread", bug 761102), GMainContext uses context->owner to decide if the
-event loop is being run in the current thread. However, what really
-matters is the phase in the prepare/query/poll/check/dispatch sequence.
-Wakeups are only needed between the end of prepare and the end of poll,
-and then only if prepare found that no sources were ready.
-
-There is no need to take threads into account, because prepare, check
-and all callers of conditional_wakeup all look at the new need_wakeup
-flag inside LOCK_CONTEXT/UNLOCK_CONTEXT.
-
-With this change, g_main_context_is_owner and g_main_context_wait are
-the only functions for which acquire/release matters, just like before
-commit e4ee307.
-
-Signed-off-by: Paolo Bonzini <bonzini at gnu.org>
----
- glib/gmain.c | 30 +++++++++++++++++++-----------
- 1 file changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/glib/gmain.c b/glib/gmain.c
-index ab2908e..af0a29a 100644
---- a/glib/gmain.c
-+++ b/glib/gmain.c
-@@ -277,7 +277,8 @@ struct _GMainContext
-
- guint next_id;
- GList *source_lists;
-- gint in_check_or_prepare;
-+ gboolean in_check_or_prepare;
-+ gboolean need_wakeup;
-
- GPollRec *poll_records;
- guint n_poll_records;
-@@ -651,6 +652,7 @@ g_main_context_new (void)
-
- context->pending_dispatches = g_ptr_array_new ();
-
-+ context->need_wakeup = FALSE;
- context->time_is_fresh = FALSE;
-
- context->wakeup = g_wakeup_new ();
-@@ -1127,17 +1129,11 @@ source_remove_from_context (GSource *source,
- 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
-+ /* This flag is set if at the start of prepare() we have no other ready
-+ * sources, and hence would wait in poll(). In that case, any other threads
-+ * attaching sources will need to signal a wakeup.
- */
-- if (context->owner != G_THREAD_SELF)
-+ if (context->need_wakeup)
- g_wakeup_signal (context->wakeup);
- }
-
-@@ -3469,6 +3465,10 @@ g_main_context_prepare (GMainContext *context,
-
- LOCK_CONTEXT (context);
-
-+ /* context->need_wakeup is protected by LOCK_CONTEXT/UNLOCK_CONTEXT,
-+ * so need not set it yet.
-+ */
-+
- context->time_is_fresh = FALSE;
-
- if (context->in_check_or_prepare)
-@@ -3594,6 +3594,8 @@ g_main_context_prepare (GMainContext *context,
- }
- }
- g_source_iter_clear (&iter);
-+ /* See conditional_wakeup() where this is used */
-+ context->need_wakeup = (n_ready == 0);
-
- TRACE (GLIB_MAIN_CONTEXT_AFTER_PREPARE (context, current_priority, n_ready));
-
-@@ -3728,6 +3730,12 @@ g_main_context_check (GMainContext *context,
-
- TRACE (GLIB_MAIN_CONTEXT_BEFORE_CHECK (context, max_priority, fds, n_fds));
-
-+ /* We don't need to wakeup during check or dispatch, because
-+ * all sources will be re-evaluated during prepare/query.
-+ */
-+ context->need_wakeup = FALSE;
-+
-+ /* And if we have a wakeup pending, acknowledge it */
- for (i = 0; i < n_fds; i++)
- {
- if (fds[i].fd == context->wake_up_rec.fd)
---
-cgit v0.12
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/glib2.git/commitdiff/1b5a482d77260969a556c1ca2a06e13ef3d895f2
More information about the pld-cvs-commit
mailing list