Bug 15825

Summary: [GTK] curl - slow dns causing hangs
Product: WebKit Reporter: Salvatore De Paolis <iwkse>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal Keywords: Curl, Gtk
Priority: P2    
Version: 523.x (Safari 3)   
Hardware: All   
OS: Linux   
Attachments:
Description Flags
limit to 5 connections globally
none
fix curl
none
fix curl
none
put jobs in the right queue
alp: review-
do not crash on job cancel
none
alternative using vectors alp: review+

Salvatore De Paolis
Reported 2007-11-04 00:18:01 PDT
Attachments
limit to 5 connections globally (1.83 KB, patch)
2007-12-04 15:02 PST, Luca Bruno
no flags
fix curl (2.01 KB, patch)
2007-12-05 01:24 PST, Luca Bruno
no flags
fix curl (2.67 KB, patch)
2007-12-05 01:29 PST, Luca Bruno
no flags
put jobs in the right queue (7.47 KB, patch)
2007-12-08 13:18 PST, Luca Bruno
alp: review-
do not crash on job cancel (7.54 KB, patch)
2007-12-09 00:59 PST, Luca Bruno
no flags
alternative using vectors (5.28 KB, patch)
2007-12-09 07:19 PST, Luca Bruno
alp: review+
Luca Bruno
Comment 1 2007-12-04 15:02:59 PST
Created attachment 17706 [details] limit to 5 connections globally The problem is that there's no way to limit curl to a specific number of connections. This patch solves the problem. However, we need to work more on that, because the limitation is globally and not per domain. I suggest to land this patch which is useful for other purposes (for example working on wysiwyg, which are really heavy if the issue remains).
Luca Bruno
Comment 2 2007-12-05 01:24:18 PST
Created attachment 17713 [details] fix curl I tested the patch by browsing several websites that before had this problem due to bad cURL management. The new patch is complete of ChangeLog. I also added a FIXME to create a separate stack of jobs per domain.
Luca Bruno
Comment 3 2007-12-05 01:29:08 PST
Created attachment 17714 [details] fix curl forgot header file
Luca Bruno
Comment 4 2007-12-08 13:18:21 PST
Created attachment 17789 [details] put jobs in the right queue Using a list, all requests were satisfied with the wrong order. Now a queue class has been added to do this work.
Alp Toker
Comment 5 2007-12-08 17:58:26 PST
Comment on attachment 17789 [details] put jobs in the right queue So, this solves a lot of problems. Pages load faster, fewer resources used. r- though due to the crasher when jobs are cancelled.
Luca Bruno
Comment 6 2007-12-09 00:59:49 PST
Created attachment 17799 [details] do not crash on job cancel The previous patch crashed when a job was canceled. This one instead has the same behavior of the original code. Notice how using the queue most of the code in the manager has been collapsed and therefore cleaned. Still missing a separate stack of connections per domain, but this is another bug yet.
Luca Bruno
Comment 7 2007-12-09 07:19:59 PST
Created attachment 17804 [details] alternative using vectors
Alp Toker
Comment 8 2007-12-09 13:46:12 PST
Comment on attachment 17799 [details] do not crash on job cancel Clearing review flag in favour of the Vector-based patch.
Alp Toker
Comment 9 2007-12-09 13:47:49 PST
Comment on attachment 17804 [details] alternative using vectors r=me with the changes to the positioning of m_runningJobs increment/decrement we discussed.
Alp Toker
Comment 10 2007-12-09 13:53:17 PST
Landed in r28573.
Note You need to log in before you can comment on or make changes to this bug.