From e3510443881391427157e4f07c5101cdb1c2762c Mon Sep 17 00:00:00 2001 From: Doug Fawley Date: Fri, 27 Sep 2019 10:51:22 -0700 Subject: [PATCH] clientconn: fix potential deadlock caused by ResetConnectBackoff (#3051) --- clientconn.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/clientconn.go b/clientconn.go index a7643df7d29..43ef2548132 100644 --- a/clientconn.go +++ b/clientconn.go @@ -875,8 +875,9 @@ func (cc *ClientConn) resolveNow(o resolver.ResolveNowOption) { // This API is EXPERIMENTAL. func (cc *ClientConn) ResetConnectBackoff() { cc.mu.Lock() - defer cc.mu.Unlock() - for ac := range cc.conns { + conns := cc.conns + cc.mu.Unlock() + for ac := range conns { ac.resetConnectBackoff() } }