[Webkit-unassigned] [Bug 141508] [SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 17 00:21:19 PST 2015


--- Comment #4 from Carlos Garcia Campos <cgarcia at igalia.com> ---
I've finally managed to make my test case work reliably by patching libsoup to kick the queue for cached resources after switching to FINISHING state and cleanup idle connections when limit properties change and are less than the current number of connections. In WebKit I changed the synchronous loader to finish the loop when the message is unqueued or when we finish loading the resource, if we are still reading the stream when the message is unqueued we wait for the didFinishLoading, and if the message hasn't been unqueued when we finish loading the data, then we wait for unqueued. 
I'm not happy with this solution, it looks tricky, hacky and weak to me, and it's very risky if something goes wrong, because the nested main loop might never end blocking the networking process forever (in multiprocess model this affects all the web processes). This is because the timeout for sync resources is cleared when the request finishes loading, but now we wait for the message to be unqueued to finish the loop.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150217/5b7a3b01/attachment-0002.html>

More information about the webkit-unassigned mailing list