]> granicus.if.org Git - curl/commit
multi: track users of a socket better
authorDaniel Stenberg <daniel@haxx.se>
Tue, 28 May 2019 06:23:43 +0000 (08:23 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 28 May 2019 10:17:02 +0000 (12:17 +0200)
commit8581e1928ea8e125021408ec071fcedb0276c7fe
treec97f0418a6a97458f252f058bcb62b21592404eb
parent28526e9c80f7c923fac0aef503c7a63d84994282
multi: track users of a socket better

They need to be removed from the socket hash linked list with more care.

When sh_delentry() is called to remove a sockethash entry, remove all
individual transfers from the list first. To enable this, each Curl_easy struct
now stores a pointer to the sockethash entry to know how to remove itself.

Reported-by: Tom van der Woerdt and Kunal Ekawde
Fixes #3952
Fixes #3904
Closes #3953
lib/multi.c
lib/urldata.h