Process DBus replies in the ::match thread
ClosedPublic

Authored by davidedmundson on May 16 2018, 9:05 AM.

Details

Summary

6114612970bcf757d9e06a623d6220257ce57b5f turned the DBus requests into
using QDBusPendingCallWatcher but blocking so that it's still handled
within the ::match() method. However, it accidentally processed replies
in the main thread, rather than in the match thread which wasn't the
intention.

Result is occasional threading related crashes.

BUG: 394272

Test Plan

Still had results from baloo (one of our DBus runners)
It didn't crash (but it never crashed for me before either)

One tester replied:
[10:00] ‎<‎sunnyflunk‎>‎ d_ed: looks good, tried 30 times with patch and no crash, then turned off the patch and crashed 4th time

Diff Detail

Repository
R308 KRunner
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson created this revision.May 16 2018, 9:05 AM
Restricted Application added a project: Frameworks. · View Herald TranscriptMay 16 2018, 9:05 AM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
davidedmundson requested review of this revision.May 16 2018, 9:05 AM
broulik accepted this revision.May 16 2018, 9:19 AM
This revision is now accepted and ready to land.May 16 2018, 9:19 AM
This revision was automatically updated to reflect the committed changes.