----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/118614/ -----------------------------------------------------------
Review request for KDE Frameworks, Aleix Pol Gonzalez and Thiago Macieira. Repository: kio Description ------- Unittest for kiocore's thread-safety KIO thread safety: use one DBus connection per thread KIO thread safety: don't use static buffers. They obviously lead to data races between threads. KIO: create one instance of Scheduler per thread. Diffs ----- src/core/scheduler.cpp e762e369b8d74971831dc1e9f4d083bfd77b8e30 src/core/connectionbackend.cpp 532141af5ab7676d1287379e56ff48bd7fa10c37 autotests/threadtest.cpp PRE-CREATION autotests/CMakeLists.txt 81d261b8620e0a0512a5bc021ed189e910c0922a Diff: https://git.reviewboard.kde.org/r/118614/diff/ Testing ------- helgrind'ing the unittest. I found and fixed many races within Qt by doing that... Race on QMutex::id --> https://codereview.qt-project.org/86237 Race in QThreadStorage --> https://codereview.qt-project.org/87047 Race in QLoggingCategory --> https://codereview.qt-project.org/87054 Also reported QTBUG-39528 (QDBusConnection::sessionBus race) (but we have KDBusConnectionPool for that) And there are still more races in Qt: QMutex::isRecursive, qdbus_loadLibDBus, QDBusConnectionPrivate::connectSignal, qt_message_print.... And a few in our code: the getenv(KDE_FORK_SLAVES) in KIO, and the dbus interface for klauncher in KDEInitInterface::ensureKdeinitRunning. Thanks, David Faure
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel