On Thu, Nov 4, 2010 at 5:24 PM, Kevin Ottens <[email protected]> wrote: > On Thursday 4 November 2010 18:58:09 Dawit A wrote: >> BTW, I noticed a couple of things in UDisksManager that I want to ask >> about... The first issue is why does a device that has its >> "DeviceIsOpticalDisc" property set to true inserted into the >> m_deviceCache 2x, once normally and once with ":media" attached to it >> ? The second issue is why even bother with doing that in the first >> place ? I mean check for that property in allDevices() ? Why could not >> that check be done in slotDeviceAdded() ? That would save on the >> unnecessary creation and querying of temporary UDisksDevice objects >> for every single device that was enumerated, which ends up with >> expensive dbus calls everytime ? > > You should really bring up this kind of questions on kde-hardware-devel.
Did not know there was a dedicated mailing list for that... > Anyway, the idea is that we want the tree to have drives and then volumes as > children under those drives. That's not the way UDisks behave, so we have to > compensate there by inserting an extra "faked" device under the drive. I see... Anyhow, I found out that you can use QDBUS_DEBUG=1 to get verbose output from QtDBus and using that with QtCreator I see that the freeze always happens on Introspect calls, e.g. QDBusConnectionPrivate(0x1f9b8b0) sending message (blocking): QDBusMessage(type=MethodCall, service="org.freedesktop.UDisks", path="/org/freedesktop/UDisks", interface="org.freedesktop.DBus.Introspectable", member="Introspect", signature="", contents=() ) However, eventhough the same interospection calls are made when using the solid-hardware command line tools, I cannot reproduce these freezes with it. Oh well....
