From: Daniel Stenberg Date: Thu, 1 Nov 2001 13:54:32 +0000 (+0000) Subject: ConnectionExists() now returns FALSE immediately if it finds a connection X-Git-Tag: curl-7_9_1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b6545c479394e5ca7c52c1c1d59086533783521;p=thirdparty%2Fcurl.git ConnectionExists() now returns FALSE immediately if it finds a connection that is dead, because it can only find one entry anyway and if that is dead there won't be any other entry that matches --- diff --git a/lib/url.c b/lib/url.c index 0d0cf6ab51..6b2a3a8c27 100644 --- a/lib/url.c +++ b/lib/url.c @@ -996,10 +996,20 @@ ConnectionExists(struct SessionHandle *data, } dead = SocketIsDead(check->firstsocket); if(dead) { + /* + * Even though the connection seems to have passed away, we could + * still make an effort to get the name information, as we intend to + * connect to the same host again. + * + * This is now subject to discussion. What do you think? + */ infof(data, "Connection %d seems to be dead!\n", i); Curl_disconnect(check); /* disconnect resources */ data->state.connects[i]=NULL; /* nothing here */ - continue; /* try another one now */ + + /* There's no need to continue search, because we only store + one connection for each unique set of identifiers */ + return FALSE; } *usethis = check;