[glib/wip/gcleanup: 61/71] gtestdbus: Properly close server connections
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/gcleanup: 61/71] gtestdbus: Properly close server connections
- Date: Wed, 13 Nov 2013 11:39:23 +0000 (UTC)
commit 645092785ac76f7e96690652243778cf2e8ec1d2
Author: Stef Walter <stefw gnome org>
Date: Sat Nov 9 20:18:34 2013 +0100
gtestdbus: Properly close server connections
Otherwise g_test_dbus_down() following a g_test_dbus_stop()
will hang until it times out.
https://bugzilla.gnome.org/show_bug.cgi?id=711807
gio/gtestdbus.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/gio/gtestdbus.c b/gio/gtestdbus.c
index 454ddb3..42c3496 100644
--- a/gio/gtestdbus.c
+++ b/gio/gtestdbus.c
@@ -67,14 +67,15 @@ on_weak_notify_timeout (gpointer user_data)
}
static gboolean
-unref_on_idle (gpointer object)
+dispose_on_idle (gpointer object)
{
+ g_object_run_dispose (object);
g_object_unref (object);
return FALSE;
}
static gboolean
-_g_object_unref_and_wait_weak_notify (gpointer object)
+_g_object_dispose_and_wait_weak_notify (gpointer object)
{
WeakNotifyData data;
guint timeout_id;
@@ -86,7 +87,7 @@ _g_object_unref_and_wait_weak_notify (gpointer object)
/* Drop the ref in an idle callback, this is to make sure the mainloop
* is already running when weak notify happens */
- g_idle_add (unref_on_idle, object);
+ g_idle_add (dispose_on_idle, object);
/* Make sure we don't block forever */
timeout_id = g_timeout_add (30 * 1000, on_weak_notify_timeout, &data);
@@ -813,7 +814,7 @@ g_test_dbus_down (GTestDBus *self)
stop_daemon (self);
if (connection != NULL)
- _g_object_unref_and_wait_weak_notify (connection);
+ _g_object_dispose_and_wait_weak_notify (connection);
g_test_dbus_unset ();
self->priv->up = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]