OSDN Git Service

Fix concurrent sign block (#541)
[bytom/vapor.git] / netsync / chainmgr / block_keeper.go
index 9cdfe1b..5752377 100644 (file)
@@ -7,8 +7,10 @@ import (
 
        "github.com/bytom/vapor/consensus"
        dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
        "github.com/bytom/vapor/netsync/peers"
        "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol"
        "github.com/bytom/vapor/protocol/bc"
        "github.com/bytom/vapor/protocol/bc/types"
 )
@@ -169,7 +171,7 @@ func (bk *blockKeeper) regularBlockSync() error {
                }
 
                isOrphan, err := bk.chain.ProcessBlock(block)
-               if err != nil {
+               if err != nil && errors.Root(err) != protocol.ErrDoubleSignBlock {
                        bk.peers.ProcessIllegal(bk.syncPeer.ID(), security.LevelMsgIllegal, err.Error())
                        return err
                }