diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 4 |
2 files changed, 6 insertions, 1 deletions
@@ -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"); |