RESOLVED FIXED 104976
[WK2 NetworkProcess] Resource loads sometimes stall
https://bugs.webkit.org/show_bug.cgi?id=104976
Summary [WK2 NetworkProcess] Resource loads sometimes stall
Alexey Proskuryakov
Reported 2012-12-13 16:45:02 PST
I don't think that use of condition variables in BlockingResponseMap is correct. There are multiple threads waiting, but only one signal(), so it resource identifier doesn't match, we're stuck forever. We should at least have a broadcast(), but ideally, we should have a design that doesn't wake up all threads. <rdar://problem/12874785>
Attachments
quick and dirty fix (1.27 KB, patch)
2012-12-13 16:52 PST, Alexey Proskuryakov
andersca: review+
Alexey Proskuryakov
Comment 1 2012-12-13 16:52:17 PST
Created attachment 179377 [details] quick and dirty fix
Anders Carlsson
Comment 2 2012-12-13 16:54:33 PST
Comment on attachment 179377 [details] quick and dirty fix View in context: https://bugs.webkit.org/attachment.cgi?id=179377&action=review > Source/WebKit2/ChangeLog:12 > + horibly inefficient, and has a race, but should improve behavior quite a bit. horibly -> horribly. > Source/WebKit2/Shared/BlockingResponseMap.h:57 > + m_condition.broadcast(); Please add a FIXME here so we won't forget about it.
Alexey Proskuryakov
Comment 3 2012-12-13 17:30:26 PST
Landed in <http://trac.webkit.org/changeset/137689>. Will improve later.
Alexey Proskuryakov
Comment 4 2012-12-14 13:26:54 PST
Follow-up in http://trac.webkit.org/changeset/137766 - just applied the same change to the other map.
Note You need to log in before you can comment on or make changes to this bug.