diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2019-01-04 16:24:26 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:27:21 +0800 |
commit | 9a8e616df90409e1a94b7843d1ceddcf010bc11b (patch) | |
tree | 9ee2a492ea8c5406bf7df078b1b2f028af1d65a7 /vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go | |
parent | b92aa8f1590c3ecb1e2fe8ba12a5092ca190786c (diff) | |
download | go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar.gz go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar.bz2 go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar.lz go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar.xz go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.tar.zst go-tangerine-9a8e616df90409e1a94b7843d1ceddcf010bc11b.zip |
vendor: sync to latest core (#125)
Diffstat (limited to 'vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go')
-rw-r--r-- | vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go index 2b5c4bc51..e8cafbd68 100644 --- a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go +++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go @@ -148,7 +148,11 @@ func (mgr *agreementMgr) run() { } mgr.isRunning = true for i := uint32(0); i < uint32(len(mgr.baModules)); i++ { - go mgr.runBA(mgr.initRound, i) + mgr.waitGroup.Add(1) + go func(idx uint32) { + defer mgr.waitGroup.Done() + mgr.runBA(mgr.initRound, idx) + }(i) } } @@ -186,7 +190,11 @@ func (mgr *agreementMgr) appendConfig( recv.agreementModule = agrModule mgr.baModules = append(mgr.baModules, agrModule) if mgr.isRunning { - go mgr.runBA(round, i) + mgr.waitGroup.Add(1) + go func(idx uint32) { + defer mgr.waitGroup.Done() + mgr.runBA(round, idx) + }(i) } } return nil @@ -277,8 +285,6 @@ func (mgr *agreementMgr) stop() { } func (mgr *agreementMgr) runBA(initRound uint64, chainID uint32) { - mgr.waitGroup.Add(1) - defer mgr.waitGroup.Done() // Acquire agreement module. agr, recv := func() (*agreement, *consensusBAReceiver) { mgr.lock.RLock() |