[glib] Fix race in gdbus-connection test
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Fix race in gdbus-connection test
- Date: Thu, 19 Apr 2012 08:40:59 +0000 (UTC)
commit b77af49b0a921a8695a8b856264df3152a9c3689
Author: Alexander Larsson <alexl redhat com>
Date: Mon Apr 16 10:18:44 2012 +0200
Fix race in gdbus-connection test
We need to flush the AddMatches before even connecting to the bus, or we
risk missing the NameOwnerChanged from the new connections.
gio/tests/gdbus-connection.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
---
diff --git a/gio/tests/gdbus-connection.c b/gio/tests/gdbus-connection.c
index 6753b08..b13b74c 100644
--- a/gio/tests/gdbus-connection.c
+++ b/gio/tests/gdbus-connection.c
@@ -620,18 +620,6 @@ test_connection_signals (void)
count_name_owner_changed = 0;
/*
- * Bring up two other connections
- */
- c2 = _g_bus_get_priv (G_BUS_TYPE_SESSION, NULL, NULL);
- g_assert (c2 != NULL);
- g_assert (!g_dbus_connection_is_closed (c2));
- g_assert_cmpstr (g_dbus_connection_get_unique_name (c2), ==, ":1.2");
- c3 = _g_bus_get_priv (G_BUS_TYPE_SESSION, NULL, NULL);
- g_assert (c3 != NULL);
- g_assert (!g_dbus_connection_is_closed (c3));
- g_assert_cmpstr (g_dbus_connection_get_unique_name (c3), ==, ":1.3");
-
- /*
* Make c2 emit "Foo" - we should catch it twice
*
* Note that there is no way to be sure that the signal subscriptions
@@ -656,6 +644,19 @@ test_connection_signals (void)
g_assert_no_error (error);
g_assert (result != NULL);
g_variant_unref (result);
+
+ /*
+ * Bring up two other connections
+ */
+ c2 = _g_bus_get_priv (G_BUS_TYPE_SESSION, NULL, NULL);
+ g_assert (c2 != NULL);
+ g_assert (!g_dbus_connection_is_closed (c2));
+ g_assert_cmpstr (g_dbus_connection_get_unique_name (c2), ==, ":1.2");
+ c3 = _g_bus_get_priv (G_BUS_TYPE_SESSION, NULL, NULL);
+ g_assert (c3 != NULL);
+ g_assert (!g_dbus_connection_is_closed (c3));
+ g_assert_cmpstr (g_dbus_connection_get_unique_name (c3), ==, ":1.3");
+
/* now, emit the signal on c2 */
ret = g_dbus_connection_emit_signal (c2,
NULL, /* destination bus name */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]