RESOLVED FIXED 22341
Text codecs should not use static data without locking
https://bugs.webkit.org/show_bug.cgi?id=22341
Summary Text codecs should not use static data without locking
Alexey Proskuryakov
Reported 2008-11-18 12:43:16 PST
Text encoding machinery is used by KURL, and KURL is used by workers. Patch forthcoming.
Attachments
proposed patch (7.36 KB, patch)
2008-11-18 12:46 PST, Alexey Proskuryakov
darin: review+
now with more correctness built-in (9.02 KB, patch)
2008-11-19 06:20 PST, Alexey Proskuryakov
darin: review+
Alexey Proskuryakov
Comment 1 2008-11-18 12:46:13 PST
Created attachment 25244 [details] proposed patch
Alexey Proskuryakov
Comment 2 2008-11-18 12:49:02 PST
P1, because I've actually seen crashes because of this on Windows.
Darin Adler
Comment 3 2008-11-18 12:59:36 PST
Comment on attachment 25244 [details] proposed patch > + AtomicallyInitializedStatic(Mutex*, mutex = new Mutex); I should have mentioned this long ago: Macros should use the all-capitals style. We should rename this one since we're using it more and more. At some point. Not this patch. r=me
Alexey Proskuryakov
Comment 4 2008-11-19 06:20:40 PST
Created attachment 25266 [details] now with more correctness built-in The previous patch was wrong in two ways - first, it caused deadlocks in text encoding registry, and second, it's not really correct to move codecs between threads, even if protected with locks.
Darin Adler
Comment 5 2008-11-19 09:26:00 PST
Comment on attachment 25266 [details] now with more correctness built-in r=me
Alexey Proskuryakov
Comment 6 2008-11-19 09:58:14 PST
Committed revision 38597.
Note You need to log in before you can comment on or make changes to this bug.