Is this fixing a race in the dbus handling code? Is ECANCELED the appropriate error code in this situation?