aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-03-18 11:04:48 +0800
committerGitHub <noreply@github.com>2019-03-18 11:04:48 +0800
commit98d71cb5ec7e3d343488607db8047b4cd80be9cf (patch)
treee9537367b16de183f46dfc0f5c94aaa6eda4d776
parent4b40c1b8990d2a371a77018feea32d038163f2ec (diff)
downloaddexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar.gz
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar.bz2
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar.lz
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar.xz
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.tar.zst
dexon-consensus-98d71cb5ec7e3d343488607db8047b4cd80be9cf.zip
core: fix 'failed to pre process block' message if unknown block is confirmed (#495)
-rw-r--r--core/agreement.go6
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 {