aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMission Liao <mission.liao@dexon.org>2019-01-16 17:09:38 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 13:50:01 +0800
commitf2686bf615d15903aa05749d58ed3640c4e672c0 (patch)
tree760ea11f09eb350135366c8f0261cb0448708c62
parenta1fcc8c0a89f3318ca929f09a1ad07360a86bdf1 (diff)
downloaddexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar.gz
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar.bz2
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar.lz
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar.xz
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.tar.zst
dexon-f2686bf615d15903aa05749d58ed3640c4e672c0.zip
Fix the usage of sync.Map (#156)
-rw-r--r--dex/app.go6
1 files changed, 2 insertions, 4 deletions
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()
}