From 5e2d62406bae96357f65913a608764834737d364 Mon Sep 17 00:00:00 2001 From: Jun <108045855+2456868764@users.noreply.github.com> Date: Sun, 25 Jun 2023 09:39:42 +0800 Subject: [PATCH] fix cond unlock (#394) --- registry/nacos/address/address_discovery.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/registry/nacos/address/address_discovery.go b/registry/nacos/address/address_discovery.go index 1b6b9d926..e53a4adbf 100644 --- a/registry/nacos/address/address_discovery.go +++ b/registry/nacos/address/address_discovery.go @@ -115,6 +115,7 @@ func (p *NacosAddressProvider) GetNacosAddress(oldAddress string) <-chan string go func() { var addr string p.cond.L.Lock() + defer p.cond.L.Unlock() log.Debugf("get nacos address, p.nacosAddr, oldAddress", p.nacosAddr, oldAddress) for p.nacosAddr == oldAddress || p.nacosAddr == "" { if p.isStop.Load() { @@ -123,7 +124,6 @@ func (p *NacosAddressProvider) GetNacosAddress(oldAddress string) <-chan string p.cond.Wait() } addr = p.nacosAddr - p.cond.L.Unlock() addressChan <- addr }() return addressChan @@ -160,6 +160,7 @@ func (p *NacosAddressProvider) addressDiscovery() { } needUpdate := true p.cond.L.Lock() + defer p.cond.L.Unlock() for _, address := range addrVec { ip := net.ParseIP(address) if ip == nil { @@ -181,5 +182,4 @@ func (p *NacosAddressProvider) addressDiscovery() { p.nacosBackupAddr = append(p.nacosBackupAddr[:i], p.nacosBackupAddr[i+1:]...) } } - p.cond.L.Unlock() }