Merge pull request #7361 from heyitsanthony/fix-gateway-goroutine
tcpproxy: don't use range variable in reactivate goroutinerelease-3.2
commit
25403970f5
|
@ -147,16 +147,17 @@ func (tp *TCPProxy) runMonitor() {
|
||||||
select {
|
select {
|
||||||
case <-time.After(tp.MonitorInterval):
|
case <-time.After(tp.MonitorInterval):
|
||||||
tp.mu.Lock()
|
tp.mu.Lock()
|
||||||
for _, r := range tp.remotes {
|
for _, rem := range tp.remotes {
|
||||||
if !r.isActive() {
|
if rem.isActive() {
|
||||||
go func() {
|
continue
|
||||||
|
}
|
||||||
|
go func(r *remote) {
|
||||||
if err := r.tryReactivate(); err != nil {
|
if err := r.tryReactivate(); err != nil {
|
||||||
plog.Warningf("failed to activate endpoint [%s] due to %v (stay inactive for another %v)", r.addr, err, tp.MonitorInterval)
|
plog.Warningf("failed to activate endpoint [%s] due to %v (stay inactive for another %v)", r.addr, err, tp.MonitorInterval)
|
||||||
} else {
|
} else {
|
||||||
plog.Printf("activated %s", r.addr)
|
plog.Printf("activated %s", r.addr)
|
||||||
}
|
}
|
||||||
}()
|
}(rem)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
tp.mu.Unlock()
|
tp.mu.Unlock()
|
||||||
case <-tp.donec:
|
case <-tp.donec:
|
||||||
|
|
Loading…
Reference in New Issue