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
This commit is contained in:
Daniel Stenberg 2001-11-01 13:54:32 +00:00
parent 96fb118251
commit 9b6545c479
1 changed files with 11 additions and 1 deletions

View File

@ -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;