From 8ccf1bb0c31108762e47f28d9d592e8d4c788564 Mon Sep 17 00:00:00 2001 From: practicalswift Date: Wed, 9 Aug 2017 16:07:22 +0200 Subject: [PATCH] Use unique_ptr for sem{Addnode,Outbound} (CSemaphore) --- src/net.cpp | 12 ++++-------- src/net.h | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 2db1f2a04f..5f0a7a4770 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2222,8 +2222,6 @@ CConnman::CConnman(uint64_t nSeed0In, uint64_t nSeed1In) : nSeed0(nSeed0In), nSe nLastNodeId = 0; nSendBufferMaxSize = 0; nReceiveFloodSize = 0; - semOutbound = nullptr; - semAddnode = nullptr; flagInterruptMsgProc = false; SetTryNewOutboundPeer(false); @@ -2329,11 +2327,11 @@ bool CConnman::Start(CScheduler& scheduler, const Options& connOptions) if (semOutbound == nullptr) { // initialize semaphore - semOutbound = new CSemaphore(std::min((nMaxOutbound + nMaxFeeler), nMaxConnections)); + semOutbound = std::unique_ptr(new CSemaphore(std::min((nMaxOutbound + nMaxFeeler), nMaxConnections))); } if (semAddnode == nullptr) { // initialize semaphore - semAddnode = new CSemaphore(nMaxAddnode); + semAddnode = std::unique_ptr(new CSemaphore(nMaxAddnode)); } // @@ -2456,10 +2454,8 @@ void CConnman::Stop() vNodes.clear(); vNodesDisconnected.clear(); vhListenSocket.clear(); - delete semOutbound; - semOutbound = nullptr; - delete semAddnode; - semAddnode = nullptr; + semOutbound.reset(); + semAddnode.reset(); } void CConnman::DeleteNode(CNode* pnode) diff --git a/src/net.h b/src/net.h index edca1171ab..668e92c004 100644 --- a/src/net.h +++ b/src/net.h @@ -399,8 +399,8 @@ private: /** Services this instance offers */ ServiceFlags nLocalServices; - CSemaphore *semOutbound; - CSemaphore *semAddnode; + std::unique_ptr semOutbound; + std::unique_ptr semAddnode; int nMaxConnections; int nMaxOutbound; int nMaxAddnode;