diff options
Diffstat (limited to 'core/agreement.go')
-rw-r--r-- | core/agreement.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/agreement.go b/core/agreement.go index 43fddd0..b0c7734 100644 --- a/core/agreement.go +++ b/core/agreement.go @@ -533,6 +533,10 @@ func (a *agreement) done() <-chan struct{} { func (a *agreement) confirmed() bool { a.lock.RLock() defer a.lock.RUnlock() + return a.confirmedNoLock() +} + +func (a *agreement) confirmedNoLock() bool { return a.hasOutput } @@ -556,6 +560,8 @@ func (a *agreement) processBlock(block *types.Block) error { receivedTime: time.Now().UTC(), }) return nil + } else if a.confirmedNoLock() { + return nil } if b, exist := a.data.blocks[block.ProposerID]; exist { if b.Hash != block.Hash { |