diff options
author | Gregory Maxwell <greg@xiph.org> | 2015-12-05 15:16:25 -0800 |
---|---|---|
committer | Gregory Maxwell <greg@xiph.org> | 2015-12-05 15:26:43 -0800 |
commit | 075faaebf2e534265ff8aca015eaf03a8a156f32 (patch) | |
tree | 2ad548c53bbc283317737443aba60717e4d177e6 | |
parent | a2822b97cb838d644684aad55660399550dbbf79 (diff) | |
parent | 96918a2f0990a8207d7631b8de73af8ae5d24aeb (diff) |
Merge pull request #7174
96918a2 Don't do mempool lookups for "mempool" command without a filter (Matt Corallo)
-rw-r--r-- | src/main.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main.cpp b/src/main.cpp index 22e71c0c48..a0e996ae78 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4994,12 +4994,13 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, vector<CInv> vInv; BOOST_FOREACH(uint256& hash, vtxid) { CInv inv(MSG_TX, hash); - CTransaction tx; - bool fInMemPool = mempool.lookup(hash, tx); - if (!fInMemPool) continue; // another thread removed since queryHashes, maybe... - if ((pfrom->pfilter && pfrom->pfilter->IsRelevantAndUpdate(tx)) || - (!pfrom->pfilter)) - vInv.push_back(inv); + if (pfrom->pfilter) { + CTransaction tx; + bool fInMemPool = mempool.lookup(hash, tx); + if (!fInMemPool) continue; // another thread removed since queryHashes, maybe... + if (!pfrom->pfilter->IsRelevantAndUpdate(tx)) continue; + } + vInv.push_back(inv); if (vInv.size() == MAX_INV_SZ) { pfrom->PushMessage("inv", vInv); vInv.clear(); |