diff --git a/protocol/dubbo/dubbo_invoker.go b/protocol/dubbo/dubbo_invoker.go index aed33a63383d60b4f610f16cbf0e3f9e8d8d34a8..bc85d73032cbbf01dabb3c951c051cac58f57e7c 100644 --- a/protocol/dubbo/dubbo_invoker.go +++ b/protocol/dubbo/dubbo_invoker.go @@ -196,9 +196,9 @@ func (di *DubboInvoker) Destroy() { di.BaseInvoker.Destroy() client := di.getClient() if client != nil { - client.DecreaseActiveNumber() + activeNumber := client.DecreaseActiveNumber() di.setClient(nil) - if client.GetActiveNumber() == 0 { + if activeNumber == 0 { exchangeClientMap.Delete(di.GetUrl().Location) client.Close() } diff --git a/remoting/exchange_client.go b/remoting/exchange_client.go index e611586efce5c01346e4b7ed53af4f49690c2fbd..6d57a1471e75127cad33c847c9a04a500b6034c4 100644 --- a/remoting/exchange_client.go +++ b/remoting/exchange_client.go @@ -92,13 +92,13 @@ func (cl *ExchangeClient) doInit(url *common.URL) error { } // increase number of service using client -func (client *ExchangeClient) IncreaseActiveNumber() { - atomic.AddUint32(&client.activeNum, 1) +func (client *ExchangeClient) IncreaseActiveNumber() uint32 { + return atomic.AddUint32(&client.activeNum, 1) } // decrease number of service using client -func (client *ExchangeClient) DecreaseActiveNumber() { - atomic.AddUint32(&client.activeNum, ^uint32(0)) +func (client *ExchangeClient) DecreaseActiveNumber() uint32 { + return atomic.AddUint32(&client.activeNum, ^uint32(0)) } // get number of service using client