types: lock block on MakePartSet

This commit is contained in:
Ethan Buchman
2018-04-09 15:04:59 +03:00
parent c778d7f5d1
commit bb1b249e8a

View File

@@ -108,6 +108,12 @@ func (b *Block) Hash() cmn.HexBytes {
// MakePartSet returns a PartSet containing parts of a serialized block.
// This is the form in which the block is gossipped to peers.
func (b *Block) MakePartSet(partSize int) *PartSet {
if b == nil {
return nil
}
b.mtx.Lock()
defer b.mtx.Unlock()
// We prefix the byte length, so that unmarshaling
// can easily happen via a reader.
bz, err := cdc.MarshalBinary(b)