diff options
author | redfish <redfish@galactica.pw> | 2016-05-18 00:57:17 -0400 |
---|---|---|
committer | redfish <redfish@galactica.pw> | 2016-05-18 01:02:21 -0400 |
commit | 68987416adb755337714964b38db3ada08ec2203 (patch) | |
tree | 5b9f0eb44a1b21d2152ed7e44e5e5249287e3cb0 /src | |
parent | crypto: slow-hash: fix misleading indent (diff) | |
download | monero-68987416adb755337714964b38db3ada08ec2203.tar.xz |
src: p2p: add exception spec to throwing destructors
The destructors get a noexcept(true) spec by default, but these
destructors in fact throw exceptions. An alternative fix might be to not
throw (most if not all of these throws are non-essential
error-reporting/logging).
Diffstat (limited to 'src')
-rw-r--r-- | src/p2p/connection_basic.cpp | 2 | ||||
-rw-r--r-- | src/p2p/connection_basic.hpp | 2 | ||||
-rw-r--r-- | src/p2p/data_logger.cpp | 2 | ||||
-rw-r--r-- | src/p2p/data_logger.hpp | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/src/p2p/connection_basic.cpp b/src/p2p/connection_basic.cpp index c0b73bc3e..22c5ef772 100644 --- a/src/p2p/connection_basic.cpp +++ b/src/p2p/connection_basic.cpp @@ -167,7 +167,7 @@ connection_basic::connection_basic(boost::asio::io_service& io_service, std::ato //boost::filesystem::create_directories("log/dr-monero/net/"); } -connection_basic::~connection_basic() { +connection_basic::~connection_basic() noexcept(false) { string remote_addr_str = "?"; m_ref_sock_count--; try { remote_addr_str = socket_.remote_endpoint().address().to_string(); } catch(...){} ; diff --git a/src/p2p/connection_basic.hpp b/src/p2p/connection_basic.hpp index 8be798735..5452fa6fb 100644 --- a/src/p2p/connection_basic.hpp +++ b/src/p2p/connection_basic.hpp @@ -103,7 +103,7 @@ class connection_basic { // not-templated base class for rapid developmet of som // first counter is the ++/-- count of current sockets, the other socket_number is only-increasing ++ number generator connection_basic(boost::asio::io_service& io_service, std::atomic<long> &ref_sock_count, std::atomic<long> &sock_number); - virtual ~connection_basic(); + virtual ~connection_basic() noexcept(false); // various handlers to be called from connection class: void do_send_handler_write(const void * ptr , size_t cb); diff --git a/src/p2p/data_logger.cpp b/src/p2p/data_logger.cpp index ca0726c5f..fe54aef63 100644 --- a/src/p2p/data_logger.cpp +++ b/src/p2p/data_logger.cpp @@ -103,7 +103,7 @@ namespace net_utils _info_c("dbg/data","Data logger constructed"); } - data_logger::~data_logger() { + data_logger::~data_logger() noexcept(false) { _note_c("dbg/data","Destructor of the data logger"); { boost::lock_guard<boost::mutex> lock(mMutex); diff --git a/src/p2p/data_logger.hpp b/src/p2p/data_logger.hpp index 148afc0ab..278d08bfc 100644 --- a/src/p2p/data_logger.hpp +++ b/src/p2p/data_logger.hpp @@ -55,7 +55,7 @@ enum class data_logger_state { state_before_init, state_during_init, state_ready public: static data_logger &get_instance(); ///< singleton static void kill_instance(); ///< call this before ending main to allow more gracefull shutdown of the main singleton and it's background thread - ~data_logger(); ///< destr, will be called when singleton is killed when global m_obj dies. will kill theads etc + ~data_logger() noexcept(false); ///< destr, will be called when singleton is killed when global m_obj dies. will kill theads etc private: data_logger(); ///< constructor is private, use only via singleton get_instance |