routing/chainview: fix race condition in neutrino implementation

This commit is contained in:
Olaoluwa Osuntokun
2017-06-06 12:01:15 -07:00
parent 9fd70958f4
commit 7d30634757
3 changed files with 21 additions and 9 deletions

View File

@@ -258,7 +258,12 @@ func (c *CfFilteredChainView) FilterBlock(blockHash *chainhash.Hash) (*FilteredB
for _, tx := range block.Transactions() {
for _, txIn := range tx.MsgTx().TxIn {
prevOp := txIn.PreviousOutPoint
if _, ok := c.chainFilter[prevOp]; ok {
c.filterMtx.RLock()
_, ok := c.chainFilter[prevOp]
c.filterMtx.RUnlock()
if ok {
filteredTxns = append(filteredTxns, tx.MsgTx())
c.filterMtx.Lock()