From ace8f6b57e835988e2ae111d2fa2127c95f908a4 Mon Sep 17 00:00:00 2001
From: "beiwei.ly" <beiwei.ly@alibaba-inc.com>
Date: Tue, 25 Aug 2020 10:33:23 +0800
Subject: [PATCH] use defer for wg.Done()

---
 cluster/router/chain/chain.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cluster/router/chain/chain.go b/cluster/router/chain/chain.go
index b15b845cf..952aedf92 100644
--- a/cluster/router/chain/chain.go
+++ b/cluster/router/chain/chain.go
@@ -200,12 +200,12 @@ func (c *RouterChain) buildCache() {
 		if p, ok := r.(router.Poolable); ok {
 			wg.Add(1)
 			go func(p router.Poolable) {
+				defer wg.Done()
 				pool, info := poolRouter(p, origin, invokers)
 				mutex.Lock()
 				defer mutex.Unlock()
 				cache.pools[p.Name()] = pool
 				cache.metadatas[p.Name()] = info
-				wg.Done()
 			}(p)
 		}
 	}
-- 
GitLab