summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Meeks <michael@ximian.com>2004-03-08 10:59:20 +0000
committerMichael Meeks <michael@ximian.com>2004-03-08 10:59:20 +0000
commit387510da641d1b91cd5369e292e6203e376da1a2 (patch)
tree57defd03e5094c9d1a84d7283da456f30f1f0f14
parent9d633977d138cdb042cf01c82022e2c0390a7050 (diff)
2004-03-08 Michael Meeks <michael@ximian.com>
* dbus/dbus-connection.c (_dbus_connection_block_for_reply): bail immediately if disconnected, to avoid busy loop.
-rw-r--r--ChangeLog3
-rw-r--r--dbus/dbus-connection.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index edcac70e..a77fcd41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2004-03-08 Michael Meeks <michael@ximian.com>
+ * dbus/dbus-connection.c (_dbus_connection_block_for_reply):
+ bail immediately if disconnected, to avoid busy loop.
+
* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
cleanup cut/paste/inefficiency.
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index 34e55873..c9c09dfb 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -1915,7 +1915,9 @@ _dbus_connection_block_for_reply (DBusConnection *connection,
_dbus_get_current_time (&tv_sec, &tv_usec);
- if (tv_sec < start_tv_sec)
+ if (!_dbus_connection_get_is_connected_unlocked (connection))
+ return NULL;
+ else if (tv_sec < start_tv_sec)
_dbus_verbose ("dbus_connection_send_with_reply_and_block(): clock set backward\n");
else if (connection->disconnect_message_link == NULL)
_dbus_verbose ("dbus_connection_send_with_reply_and_block(): disconnected\n");