From d7bb3cf8dfc162007caf5e28d9c304381de7b8c3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Sat, 7 Jun 2008 17:24:50 +0200 Subject: Fix inverted return value from dbus_connection_read_write() * dbus/dbus-connection.c (_dbus_connection_read_write_dispatch): The double negation re no_progress_possible was obviously too confusing: the path for dispatch = FALSE would return an inverted status. So make it progress_possible and fix the logic. Signed-off-by: Thiago Macieira --- dbus/dbus-connection.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 7b13b249..2e291eee 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -3412,6 +3412,7 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection, { DBusDispatchStatus dstatus; dbus_bool_t no_progress_possible; + dbus_bool_t progress_possible; dstatus = dbus_connection_get_dispatch_status (connection); @@ -3447,12 +3448,13 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection, * as long as the transport is open. */ if (dispatch) - no_progress_possible = connection->n_incoming == 0 && - connection->disconnect_message_link == NULL; + progress_possible = connection->n_incoming != 0 || + connection->disconnect_message_link != NULL; else - no_progress_possible = _dbus_connection_get_is_connected_unlocked (connection); + progress_possible = _dbus_connection_get_is_connected_unlocked (connection); + CONNECTION_UNLOCK (connection); - return !no_progress_possible; /* TRUE if we can make more progress */ + return progress_possible; /* TRUE if we can make more progress */ } -- cgit