@@ -706,17 +706,6 @@ retrySearch:
706706 }
707707 }
708708
709- // lopinned is always the first element, if any.
710- for _ , pid := range loproxies {
711- // ignore err, as it unlikely for local proxies
712- // that are always available, and are presumed to
713- // be gateways (route all ips)
714- if p , _ := px .pinID (uid , ipp , pid ); p != nil { // repin
715- return p , nil
716- }
717- missproxies = append (missproxies , pid )
718- }
719-
720709 if len (missproxies ) > 0 && ! waitedForMissingProxy {
721710 // wait for the missing proxy to be added before returning error
722711 waitedForMissingProxy = true
@@ -728,10 +717,21 @@ retrySearch:
728717 log .W ("proxy: pin: %s: %s: %s+%s; missing: %v; notok: %v; noroute: %v; paused: %v; ended: %v; waited: %ds" ,
729718 who , proto , uid , ippstr , missproxies , notokproxies , norouteproxies , pausedproxies , endproxies , stalledSec )
730719 pids = missproxies
731- missproxies = make ([] string , 0 )
720+ clear ( missproxies )
732721 goto retrySearch
733722 }
734723
724+ // lopinned is always the first element, if any.
725+ for _ , pid := range loproxies {
726+ // ignore err, as it unlikely for local proxies
727+ // that are always available, and are presumed to
728+ // be gateways (route all ips)
729+ if p , _ := px .pinID (uid , ipp , pid ); p != nil { // repin
730+ return p , nil
731+ }
732+ missproxies = append (missproxies , pid )
733+ }
734+
735735 if len (notokproxies ) > 0 {
736736 return nil , e (errNoProxyHealthy )
737737 } else if len (missproxies ) > 0 {
0 commit comments