[glib] gtestdbus: Properly close server connections
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gtestdbus: Properly close server connections
- Date: Sat, 23 Nov 2013 23:15:53 +0000 (UTC)
commit baf92d09d69de0d9f9b2d0f77fc62c21fdef4da8
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 bff39f1..98ee8c9 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]