aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/agreement.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/agreement.go b/core/agreement.go
index c2ac711..39cd368 100644
--- a/core/agreement.go
+++ b/core/agreement.go
@@ -562,17 +562,22 @@ func (a *agreement) processBlock(block *types.Block) error {
block.ProposerID == a.leader() {
go func() {
for func() bool {
+ if aID != a.agreementID() {
+ return false
+ }
a.lock.RLock()
defer a.lock.RUnlock()
if a.state.state() != stateFast && a.state.state() != stateFastVote {
return false
}
+ a.data.lock.RLock()
+ defer a.data.lock.RUnlock()
+ a.data.blocksLock.Lock()
+ defer a.data.blocksLock.Unlock()
block, exist := a.data.blocks[a.leader()]
if !exist {
return true
}
- a.data.lock.RLock()
- defer a.data.lock.RUnlock()
ok, err := a.data.leader.validLeader(block)
if err != nil {
fmt.Println("Error checking validLeader for Fast BA",