Преглед на файлове

Do not remove a not working SrvRecords server twice

The PopFromSrvRecs() already removed the entry from the active
list, so the extra SrvRecords.erase() was incorrect.

Git-Dch: ignore
Michael Vogt преди 10 години
родител
ревизия
0b7d34ee9d
променени са 1 файла, в които са добавени 1 реда и са изтрити 3 реда
  1. 1 3
      methods/connect.cc

+ 1 - 3
methods/connect.cc

@@ -288,12 +288,10 @@ bool Connect(std::string Host,int Port,const char *Service,
    // try to connect in the priority order of the srv records
    while(SrvRecords.size() > 0)
    {
+      // PopFromSrvRecs will also remove the server
       Host = PopFromSrvRecs(SrvRecords).target;
       if(ConnectToHostname(Host, Port, Service, DefPort, Fd, TimeOut, Owner))
          return true;
-
-      // we couldn't connect to this one, use the next
-      SrvRecords.erase(SrvRecords.begin());
    }
 
    return false;