Multithreaded QLocalSocket

Sebastian Trüg strueg at mandriva.com
Mon Jun 30 13:15:06 BST 2008


On Sunday 29 June 2008 14:19:21 Kevin Krammer wrote:
> On Sunday 29 June 2008, Sebastian Trüg wrote:
> > Apparently on Unix QLocalSocket uses QTcpSocket internally. This results
> > in a big problem when I want to use it in a multithreaded environment as
> > I cannot move the internal QTcpSocket to the new thread. Does anyone have
> > an idea on how to solve this issue? On how to use QLocalSocket in
> > multithreaded systems?
>
> On the server or the client side?
>
> On the client side you could use one QLocalSocket per thread.
>
> On the server side you can use the incomingConnection(quintptr) template
> method of QLocalServer and create the actual QLocalSocket in the target
> thread's context. We do this in Akonadi, see
> kdesupport/akonadi/server/src/akonadi.cpp and
> kdesupport/akonadi/server/src/akonadiconnection.cpp
>
> Cheers,
> Kevin

Thanks a lot for the hints. Seems to work. :)




More information about the kde-core-devel mailing list