Commit 9b6545c4 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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
parent 96fb1182
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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;