I have the same situation. I'm using pipelining. But it's different scenario.
One thread does all multi_* calls while all other threads do easy_init & 
multi_add/remove_handle protected by the critical section. Everything works 
perfectly on 100 parallel threads but close_all_connections never returned. It 
looked like 2 connections remained in the list all the time. I need to polish 
up the code and then I'll share it cause though it works perfectly I'm not sure 
multi_* it's meant to work like that. 

P.s. Where should I upload/share the code? Here?

Miloš Ljumović
Operating system specialist 

> On 18 Oct 2016, at 10:26, Daniel Stenberg <dan...@haxx.se> wrote:
>> On Mon, 17 Oct 2016, Valentin David wrote:
>> When I upgraded cURL to version 7.50.3, I got some of my code to run into an 
>> infinite loop when closing down the "multi". All "easy" are closed, but some 
>> connections in the cache still contains receivers in the "recv_pipe". 
>> Calling "Curl_disconnect" would not close properly the connection and 
>> "close_all_connections" would call it in loop forever. Adding "connclose" 
>> before call the "Curl_disconnect" fixes the problem.
> Infinite loop sounds related to Dan F's post from two weeks ago: 
> https://curl.haxx.se/mail/lib-2016-10/0011.html, but the triggering reason 
> seems different(?)
> How did you end up in this situation, is it reproducible? Are you using 
> Pipelining or HTTP/2 multiplexing?
> While I think we should or could do that closing down sequence use more force 
> since it is about to close everything down anyway, it feels like there's a 
> bug lurking here that we should rather fix first than just trying to paint 
> over the problem by forcing the closure of that connection.
> -- 
> / daniel.haxx.se
> -------------------------------------------------------------------
> List admin: https://cool.haxx.se/list/listinfo/curl-library
> Etiquette:  https://curl.haxx.se/mail/etiquette.html

List admin: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:  https://curl.haxx.se/mail/etiquette.html

Reply via email to