From cbae73e1dd95946597ea74ccb580c30f78e3fa73 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 20 Apr 2017 15:10:04 +0200 Subject: llist: no longer uses malloc The 'list element' struct now has to be within the data that is being added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP transfer. (96 => 80) Also removed return codes since the llist functions can't fail now. Test 1300 updated accordingly. Closes #1435 --- lib/urldata.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/urldata.h') diff --git a/lib/urldata.h b/lib/urldata.h index 3c94553a1..34e18ecde 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -898,6 +898,8 @@ struct connectdata { connection is used! */ struct Curl_easy *data; + struct curl_llist_element bundle_node; /* conncache */ + /* chunk is for HTTP chunked encoding, but is in the general connectdata struct only because we can do just about any protocol through a HTTP proxy and a HTTP proxy may in fact respond using chunked encoding */ @@ -1804,6 +1806,8 @@ struct Curl_easy { struct Curl_easy *prev; struct connectdata *easy_conn; /* the "unit's" connection */ + struct curl_llist_element connect_queue; + struct curl_llist_element pipeline_queue; CURLMstate mstate; /* the handle's state */ CURLcode result; /* previous result */ -- cgit v1.2.3