From: Oswald Buddenhagen Date: Sat, 7 Jun 2008 15:24:50 +0000 (+0200) Subject: Fix inverted return value from dbus_connection_read_write() X-Git-Tag: dbus-1.2.3~8^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7bb3cf8dfc162007caf5e28d9c304381de7b8c3;p=thirdparty%2Fdbus.git 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 --- diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 7b13b2498..2e291eee9 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 */ }