aboutsummaryrefslogtreecommitdiff
path: root/src/p2p
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-07-27 12:04:31 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-08-01 18:47:05 +0100
commit41f935ddb2e2d5dbe3da05794ba4f74a84311cfb (patch)
treec0093a30ee4c0cfda70e1385a42326ba67465198 /src/p2p
parentMerge pull request #2159 (diff)
downloadmonero-41f935ddb2e2d5dbe3da05794ba4f74a84311cfb.tar.xz
network_throttle: remove unneeded heap allocations
This will keep leak traces less noisy, as those were one off allocations that were technically leaking.
Diffstat (limited to 'src/p2p')
-rw-r--r--src/p2p/network_throttle.cpp18
-rw-r--r--src/p2p/network_throttle.hpp7
2 files changed, 6 insertions, 19 deletions
diff --git a/src/p2p/network_throttle.cpp b/src/p2p/network_throttle.cpp
index 6d68f3286..18148fd6a 100644
--- a/src/p2p/network_throttle.cpp
+++ b/src/p2p/network_throttle.cpp
@@ -77,28 +77,22 @@ int network_throttle_manager::xxx;
// ================================================================================================
// methods:
i_network_throttle & network_throttle_manager::get_global_throttle_in() {
- boost::call_once(m_once_get_global_throttle_in, [] { m_obj_get_global_throttle_in.reset(new network_throttle("in/all","<<< global-IN",10)); } );
- return * m_obj_get_global_throttle_in;
+ static network_throttle obj_get_global_throttle_in("in/all","<<< global-IN",10);
+ return obj_get_global_throttle_in;
}
-boost::once_flag network_throttle_manager::m_once_get_global_throttle_in;
-std::unique_ptr<i_network_throttle> network_throttle_manager::m_obj_get_global_throttle_in;
i_network_throttle & network_throttle_manager::get_global_throttle_inreq() {
- boost::call_once(m_once_get_global_throttle_inreq, [] { m_obj_get_global_throttle_inreq.reset(new network_throttle("inreq/all", "<== global-IN-REQ",10)); } );
- return * m_obj_get_global_throttle_inreq;
+ static network_throttle obj_get_global_throttle_inreq("inreq/all", "<== global-IN-REQ",10);
+ return obj_get_global_throttle_inreq;
}
-boost::once_flag network_throttle_manager::m_once_get_global_throttle_inreq;
-std::unique_ptr<i_network_throttle> network_throttle_manager::m_obj_get_global_throttle_inreq;
i_network_throttle & network_throttle_manager::get_global_throttle_out() {
- boost::call_once(m_once_get_global_throttle_out, [] { m_obj_get_global_throttle_out.reset(new network_throttle("out/all", ">>> global-OUT",10)); } );
- return * m_obj_get_global_throttle_out;
+ static network_throttle obj_get_global_throttle_out("out/all", ">>> global-OUT",10);
+ return obj_get_global_throttle_out;
}
-boost::once_flag network_throttle_manager::m_once_get_global_throttle_out;
-std::unique_ptr<i_network_throttle> network_throttle_manager::m_obj_get_global_throttle_out;
diff --git a/src/p2p/network_throttle.hpp b/src/p2p/network_throttle.hpp
index a747cdd71..81d77d5c0 100644
--- a/src/p2p/network_throttle.hpp
+++ b/src/p2p/network_throttle.hpp
@@ -111,13 +111,6 @@ class network_throttle_manager {
//protected:
public: // XXX
- // [[note1]]
- static boost::once_flag m_once_get_global_throttle_in;
- static boost::once_flag m_once_get_global_throttle_inreq; // [[note2]]
- static boost::once_flag m_once_get_global_throttle_out;
- static std::unique_ptr<i_network_throttle> m_obj_get_global_throttle_in;
- static std::unique_ptr<i_network_throttle> m_obj_get_global_throttle_inreq;
- static std::unique_ptr<i_network_throttle> m_obj_get_global_throttle_out;
static boost::mutex m_lock_get_global_throttle_in;
static boost::mutex m_lock_get_global_throttle_inreq;