[Kde-hardware-devel] multithreading restrictions?

Marcel Wiesweg marcel.wiesweg at gmx.de
Sun Nov 18 16:27:39 CET 2007


> In my fantasy world it shouldn't. That said, maybe the D-Bus binding is
> causing this, in particular because at a few places I made some hacks to
> get some behavior guarantees from the HAL backend.
>
> > Note that this is typically the first call to Solid; it seems that
> > subsequent calls operating on objects from the retrieved list work
> > without problem.
>
> Could you tell me which call is causing this exactly?

The call is:

QList<Solid::Device> devices =  
    Solid::Device::listFromType(Solid::DeviceInterface::StorageAccess);


I have a bit more for you:
For testing, I have added this call to the UI thread, before the worker thread 
starts.
From the worker thread, when the call is executed again, I then get about 8 of 
these error messages:

QObject: Cannot create children for a parent that is in a different thread.
(Parent is Solid::Backends::Hal::HalDevice(0x83f4f88), parent's thread is 
QThread(0x82e33f8), current thread is Digikam::ScanController(0x83ddbc0)


Marcel

>
> Regards.




More information about the Kde-hardware-devel mailing list