From 77cc711bc48c77c48a083f5ce79b6c55c05038f9 Mon Sep 17 00:00:00 2001 From: Mission Liao Date: Wed, 16 Jan 2019 17:09:38 +0800 Subject: Fix the usage of sync.Map (#156) --- dex/app.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'dex') diff --git a/dex/app.go b/dex/app.go index c40371254..3ea8953f5 100644 --- a/dex/app.go +++ b/dex/app.go @@ -70,8 +70,7 @@ func (d *DexconApp) addrBelongsToChain(address common.Address, chainSize, chainI func (d *DexconApp) chainLock(chainID uint32) { v, ok := d.chainLocks.Load(chainID) if !ok { - v = &sync.RWMutex{} - d.chainLocks.Store(chainID, v) + v, _ = d.chainLocks.LoadOrStore(chainID, &sync.RWMutex{}) } v.(*sync.RWMutex).Lock() } @@ -87,8 +86,7 @@ func (d *DexconApp) chainUnlock(chainID uint32) { func (d *DexconApp) chainRLock(chainID uint32) { v, ok := d.chainLocks.Load(chainID) if !ok { - v = &sync.RWMutex{} - d.chainLocks.Store(chainID, v) + v, _ = d.chainLocks.LoadOrStore(chainID, &sync.RWMutex{}) } v.(*sync.RWMutex).RLock() } -- cgit v1.2.3