Review Request 127112: Reparse svgElementsCache instead of deleting it in discardCache
David Rosca
nowrep at gmail.com
Fri Feb 19 11:56:20 UTC 2016
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127112/
-----------------------------------------------------------
(Updated Feb. 19, 2016, 11:56 a.m.)
Review request for Plasma.
Changes
-------
Now that I think about it again, the race condition doesn't really matter here. It won't be the only place where the shared config would be accessed from different threads.
Just from a quick look:
IconItem - queries theme in updatePolish = main thread
SvgItem - queries theme in updatePaintNode = render thread
So I think we should fix the other items with this in mind = don't access Plasma::Theme from render thread.
Bugs: 359539
http://bugs.kde.org/show_bug.cgi?id=359539
Repository: plasma-framework
Description
-------
svgElementsCache may be created on render thread and deleted on main thread, which will make KSharedConfig crash (it uses per-thread storage).
Diffs (updated)
-----
src/plasma/private/theme_p.cpp 2faced8
Diff: https://git.reviewboard.kde.org/r/127112/diff/
Testing
-------
I couldn't reproduce the crash, even with QSG_RENDER_LOOP=threaded (on Intel GPU).
I think we can't just call reparseConfiguration in discardCache, because there will be race condititon (reparseConfiguration running on main thread and config being accessed from render thread).
Thanks,
David Rosca
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160219/d9219f97/attachment.html>
More information about the Plasma-devel
mailing list