Bug 202980

Summary: [GTK][WPE] IconDatabase is not thread safe yet
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, berto, bugs-noreply, ews-watchlist, gustavo
Priority: P2 Keywords: Gtk
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch aperez: review+

Carlos Garcia Campos
Reported 2019-10-15 01:47:48 PDT
Current implementation is safer, but we still need to protect members used by both threads.
Attachments
Patch (10.81 KB, patch)
2019-10-15 01:49 PDT, Carlos Garcia Campos
aperez: review+
Carlos Garcia Campos
Comment 1 2019-10-15 01:49:44 PDT
EWS Watchlist
Comment 2 2019-10-15 01:50:26 PDT
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Adrian Perez
Comment 3 2019-10-21 01:40:50 PDT
Comment on attachment 380970 [details] Patch Patch LGTM. Given that all the uses of the database (“m_db” member) are done in the work queue thread, maybe it would be a good thing to add “ASSERT(!isMainThread())” at the top of helper functions like “IconDatabase::createTablesIfNeeded()” to make it clearer that they are not intended to be used directly from the main thread, WDYT?
Carlos Garcia Campos
Comment 4 2019-10-21 01:46:15 PDT
(In reply to Adrian Perez from comment #3) > Comment on attachment 380970 [details] > Patch > > Patch LGTM. Given that all the uses of the database (“m_db” member) > are done in the work queue thread, maybe it would be a good thing > to add “ASSERT(!isMainThread())” at the top of helper functions > like “IconDatabase::createTablesIfNeeded()” to make it clearer that > they are not intended to be used directly from the main thread, WDYT? Sure, I can add it.
Carlos Garcia Campos
Comment 5 2019-10-21 02:21:21 PDT
Note You need to log in before you can comment on or make changes to this bug.