File tree Expand file tree Collapse file tree 1 file changed +16
-5
lines changed
Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -666,17 +666,28 @@ DnsServer *server_get(void) {
666666 s = random_server ();
667667 if (s == first ) // try again
668668 s = random_server ();
669- scurrent = s ;
670- qaverage = test_server (s -> name );
671- stats .query_time = qaverage ;
672669
673- // grab the fastest one
674- if (qaverage == 0 || qaverage > first_average ) {
670+ // no servers left!
671+ if (s == NULL ) {
675672 // revert back to the first server
676673 scurrent = first ;
677674 s = first ;
678675 stats .query_time = first_average ;
679676 }
677+
678+ else {
679+ scurrent = s ;
680+ qaverage = test_server (s -> name );
681+ stats .query_time = qaverage ;
682+
683+ // grab the fastest one
684+ if (qaverage == 0 || qaverage > first_average ) {
685+ // revert back to the first server
686+ scurrent = first ;
687+ s = first ;
688+ stats .query_time = first_average ;
689+ }
690+ }
680691 }
681692 }
682693 }
You can’t perform that action at this time.
0 commit comments