aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-01-04 16:24:26 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-12 17:27:21 +0800
commit9a8e616df90409e1a94b7843d1ceddcf010bc11b (patch)
tree9ee2a492ea8c5406bf7df078b1b2f028af1d65a7 /vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
parentb92aa8f1590c3ecb1e2fe8ba12a5092ca190786c (diff)
downloadgo-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.go14
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()