Review Request: Workaround for non-thread-safety of QDBusConnection
Sebastian Trueg
trueg at kde.org
Thu May 27 14:55:33 BST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/4166/
-----------------------------------------------------------
Review request for kdelibs.
Summary
-------
As many of us experienced already QDBusConnection is not thread-safe. As you can see in Qt bug 7475 (http://bugreports.qt.nokia.com/browse/QTBUG-7475) this is not Qt's fault but an issue in libdbus which has been reported a rather long time ago (https://bugs.freedesktop.org/show_bug.cgi?id=17754). In Nepomuk we work around this problem using a pool of connections, one for each thread. This is no perfect solution but at least we get no more crashes. The same applies to KSycoca, too. It is used in multi-threading situations at least in Dolphin.
Thus, this patch moves the DBusConnectionPool to kdecore, making it privately available to all kdelibs components.
Diffs
-----
trunk/KDE/kdelibs/kdecore/util/dbusconnectionpool.cpp PRE-CREATION
trunk/KDE/kdelibs/kdecore/CMakeLists.txt 1130392
trunk/KDE/kdelibs/kdecore/sycoca/ksycoca.cpp 1130392
trunk/KDE/kdelibs/kdecore/util/dbusconnectionpool.h PRE-CREATION
trunk/KDE/kdelibs/nepomuk/core/CMakeLists.txt 1130392
trunk/KDE/kdelibs/nepomuk/core/dbusconnectionpool.h 1130392
trunk/KDE/kdelibs/nepomuk/core/dbusconnectionpool.cpp 1130392
Diff: http://reviewboard.kde.org/r/4166/diff
Testing
-------
Thanks,
Sebastian
More information about the kde-core-devel
mailing list