GDBus: If exiting b/c remote peer disconnected and error is set, print it
authorDavid Zeuthen <davidz@redhat.com>
Tue, 3 Aug 2010 16:24:48 +0000 (12:24 -0400)
committerDavid Zeuthen <davidz@redhat.com>
Tue, 3 Aug 2010 16:24:48 +0000 (12:24 -0400)
This should make things easier to debug:

  g_dbus_connection_real_closed: Remote peer vanished with error:
  Underlying GIOStream returned 0 bytes on an async read
  (g-io-error-quark, 0). Exiting.

Signed-off-by: David Zeuthen <davidz@redhat.com>
gio/gdbusconnection.c

index b81dfb3..95fcaea 100644 (file)
@@ -553,7 +553,17 @@ g_dbus_connection_real_closed (GDBusConnection *connection,
 {
   if (remote_peer_vanished && connection->exit_on_close)
     {
-      g_print ("%s: Remote peer vanished. Exiting.\n", G_STRFUNC);
+      if (error != NULL)
+        {
+          g_print ("%s: Remote peer vanished with error: %s (%s, %d). Exiting.\n",
+                   G_STRFUNC,
+                   error->message,
+                   g_quark_to_string (error->domain), error->code);
+        }
+      else
+        {
+          g_print ("%s: Remote peer vanished. Exiting.\n", G_STRFUNC);
+        }
       raise (SIGTERM);
     }
 }