From 9b6545c479394e5ca7c52c1c1d59086533783521 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 1 Nov 2001 13:54:32 +0000 Subject: [PATCH] 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 --- lib/url.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/url.c b/lib/url.c index 0d0cf6ab5..6b2a3a8c2 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;