[glib] g_source_add_child_source: sync blocked state
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] g_source_add_child_source: sync blocked state
- Date: Wed, 18 Jul 2012 18:21:50 +0000 (UTC)
commit ee6e66cb4483d82fcb0657d13faebf844258c70b
Author: Dan Winship <danw gnome org>
Date: Wed Jul 18 14:19:36 2012 -0400
g_source_add_child_source: sync blocked state
Child sources are supposed to be blocked when their parents are, so
when adding a source to a blocked source, block the child too. Fixes a
warning when unblocking the parent.
glib/gmain.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/glib/gmain.c b/glib/gmain.c
index d9dc76e..443d423 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -400,6 +400,8 @@ static gboolean g_idle_dispatch (GSource *source,
GSourceFunc callback,
gpointer user_data);
+static void block_source (GSource *source);
+
static GMainContext *glib_worker_context;
G_LOCK_DEFINE_STATIC (main_loop);
@@ -1325,6 +1327,8 @@ g_source_add_child_source (GSource *source,
g_source_ref (child_source));
child_source->priv->parent_source = source;
g_source_set_priority_unlocked (child_source, NULL, source->priority);
+ if (SOURCE_BLOCKED (source))
+ block_source (child_source);
if (context)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]