Use unique_ptr for pfilter (CBloomFilter)
This commit is contained in:
parent
8ccf1bb0c3
commit
f72cbf9ba9
3 changed files with 4 additions and 8 deletions
|
@ -2741,7 +2741,7 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
|
|||
nNextInvSend = 0;
|
||||
fRelayTxes = false;
|
||||
fSentAddr = false;
|
||||
pfilter = new CBloomFilter();
|
||||
pfilter = std::unique_ptr<CBloomFilter>(new CBloomFilter());
|
||||
timeLastMempoolReq = 0;
|
||||
nLastBlockTime = 0;
|
||||
nLastTXTime = 0;
|
||||
|
@ -2771,8 +2771,6 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
|
|||
CNode::~CNode()
|
||||
{
|
||||
CloseSocket(hSocket);
|
||||
|
||||
delete pfilter;
|
||||
}
|
||||
|
||||
void CNode::AskFor(const CInv& inv)
|
||||
|
|
|
@ -648,7 +648,7 @@ public:
|
|||
bool fSentAddr;
|
||||
CSemaphoreGrant grantOutbound;
|
||||
CCriticalSection cs_filter;
|
||||
CBloomFilter* pfilter;
|
||||
std::unique_ptr<CBloomFilter> pfilter;
|
||||
std::atomic<int> nRefCount;
|
||||
|
||||
const uint64_t nKeyedNetGroup;
|
||||
|
|
|
@ -2755,8 +2755,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
|
|||
else
|
||||
{
|
||||
LOCK(pfrom->cs_filter);
|
||||
delete pfrom->pfilter;
|
||||
pfrom->pfilter = new CBloomFilter(filter);
|
||||
pfrom->pfilter.reset(new CBloomFilter(filter));
|
||||
pfrom->pfilter->UpdateEmptyFull();
|
||||
pfrom->fRelayTxes = true;
|
||||
}
|
||||
|
@ -2792,8 +2791,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
|
|||
{
|
||||
LOCK(pfrom->cs_filter);
|
||||
if (pfrom->GetLocalServices() & NODE_BLOOM) {
|
||||
delete pfrom->pfilter;
|
||||
pfrom->pfilter = new CBloomFilter();
|
||||
pfrom->pfilter.reset(new CBloomFilter());
|
||||
}
|
||||
pfrom->fRelayTxes = true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue