diff -Nprud dbus-1.2.3.old/dbus/dbus-connection.c dbus-1.2.3.new/dbus/dbus-connection.c --- dbus-1.2.3.old/dbus/dbus-connection.c 2008-08-06 19:00:29.000000000 +0200 +++ dbus-1.2.3.new/dbus/dbus-connection.c 2008-09-24 16:07:41.000000000 +0200 @@ -777,6 +777,7 @@ protected_change_timeout (DBusConnection * drop lock and call out" one; but it has to be propagated up through all callers */ +retry: timeouts = connection->timeouts; if (timeouts) { @@ -804,7 +805,12 @@ protected_change_timeout (DBusConnection return retval; } else - return FALSE; + { + CONNECTION_UNLOCK (connection); + usleep(1000); + CONNECTION_LOCK (connection); + goto retry; + } } /**