Interrupt retry Sleep() on client connection shutdown

Otherwise transportMonitor hangs around long enough after Close() that it
looks like a goroutine leak.
This commit is contained in:
Anthony Romano
2016-05-12 13:08:31 -07:00
parent a5e20f67d1
commit 46f2afd293

View File

@ -491,7 +491,10 @@ func (cc *Conn) resetTransport(closeTransport bool) error {
return ErrClientConnTimeout
}
closeTransport = false
time.Sleep(sleepTime)
select {
case <-time.After(sleepTime):
case <-cc.shutdownChan:
}
retries++
grpclog.Printf("grpc: Conn.resetTransport failed to create client transport: %v; Reconnecting to %q", err, cc.target)
continue