aboutsummaryrefslogtreecommitdiff
path: root/lib/conncache.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-04-20 15:10:04 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-04-22 11:25:27 +0200
commitcbae73e1dd95946597ea74ccb580c30f78e3fa73 (patch)
tree56697b9325403031bb2fcfc6a723719b9819b0be /lib/conncache.c
parentcbb59ed9ce9555e0dc0b485247fe86f0e45006b3 (diff)
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
Diffstat (limited to 'lib/conncache.c')
-rw-r--r--lib/conncache.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/conncache.c b/lib/conncache.c
index 0590ec631..c79d22764 100644
--- a/lib/conncache.c
+++ b/lib/conncache.c
@@ -72,13 +72,11 @@ static void bundle_destroy(struct connectbundle *cb_ptr)
/* Add a connection to a bundle */
static CURLcode bundle_add_conn(struct connectbundle *cb_ptr,
- struct connectdata *conn)
+ struct connectdata *conn)
{
- if(!Curl_llist_insert_next(&cb_ptr->conn_list, cb_ptr->conn_list.tail, conn))
- return CURLE_OUT_OF_MEMORY;
-
+ Curl_llist_insert_next(&cb_ptr->conn_list, cb_ptr->conn_list.tail, conn,
+ &conn->bundle_node);
conn->bundle = cb_ptr;
-
cb_ptr->num_connections++;
return CURLE_OK;
}