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