From 9063a7f853a35d2ca9dfe8ac39f4649720081fb3 Mon Sep 17 00:00:00 2001 From: Frank Meier Date: Sun, 15 Mar 2015 13:24:26 +0100 Subject: [PATCH] closesocket: call multi socket cb on close even with custom close In function Curl_closesocket() in connect.c the call to Curl_multi_closed() was wrongly omitted if a socket close function (CURLOPT_CLOSESOCKETFUNCTION) is registered. That would lead to not removing the socket from the internal hash table and not calling the multi socket callback appropriately. Bug: http://curl.haxx.se/bug/view.cgi?id=1493 --- lib/connect.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/connect.c b/lib/connect.c index 464d7fbac22384..aa4dbe0fe4269c 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -1263,8 +1263,10 @@ int Curl_closesocket(struct connectdata *conn, accept, then we MUST NOT call the callback but clear the accepted status */ conn->sock_accepted[SECONDARYSOCKET] = FALSE; - else + else { + Curl_multi_closed(conn, sock); return conn->fclosesocket(conn->closesocket_client, sock); + } } if(conn)