diff options
author | Howard Chu <hyc@symas.com> | 2016-02-18 21:30:10 +0000 |
---|---|---|
committer | Howard Chu <hyc@symas.com> | 2016-02-18 21:30:10 +0000 |
commit | 7c86c5997d72062191c2fb4fbaf003bf48485842 (patch) | |
tree | 82712a6c2128ea1b818aa9e5bca5b5016744bbb5 | |
parent | Merge pull request #675 (diff) | |
download | monero-7c86c5997d72062191c2fb4fbaf003bf48485842.tar.xz |
Use boost::thread instead of std::thread
std::thread crashes on (at least) ARMv6 g++ 4.8/4.9
-rw-r--r-- | contrib/epee/include/console_handler.h | 5 | ||||
-rw-r--r-- | src/p2p/data_logger.cpp | 3 | ||||
-rw-r--r-- | src/p2p/net_node.h | 2 | ||||
-rw-r--r-- | src/p2p/net_node.inl | 2 |
4 files changed, 7 insertions, 5 deletions
diff --git a/contrib/epee/include/console_handler.h b/contrib/epee/include/console_handler.h index 5c63556ae..d76d7930c 100644 --- a/contrib/epee/include/console_handler.h +++ b/contrib/epee/include/console_handler.h @@ -36,6 +36,7 @@ #ifdef __OpenBSD__ #include <stdio.h> #endif +#include <boost/thread.hpp> namespace epee { @@ -47,7 +48,7 @@ namespace epee , m_has_read_request(false) , m_read_status(state_init) { - m_reader_thread = std::thread(std::bind(&async_stdin_reader::reader_thread_func, this)); + m_reader_thread = boost::thread(std::bind(&async_stdin_reader::reader_thread_func, this)); } ~async_stdin_reader() @@ -212,7 +213,7 @@ namespace epee }; private: - std::thread m_reader_thread; + boost::thread m_reader_thread; std::atomic<bool> m_run; std::string m_line; diff --git a/src/p2p/data_logger.cpp b/src/p2p/data_logger.cpp index f875cb8f0..7fc85e3bc 100644 --- a/src/p2p/data_logger.cpp +++ b/src/p2p/data_logger.cpp @@ -31,6 +31,7 @@ #include <boost/chrono.hpp> #include <boost/filesystem.hpp> +#include <boost/thread.hpp> #include <chrono> #include "../../contrib/otshell_utils/utils.hpp" @@ -85,7 +86,7 @@ namespace net_utils _info_c("dbg/data","Creating thread for data logger"); // create timer thread m_thread_maybe_running=true; - std::shared_ptr<std::thread> logger_thread(new std::thread([&]() { + std::shared_ptr<boost::thread> logger_thread(new boost::thread([&]() { _info_c("dbg/data","Inside thread for data logger"); while (m_state == data_logger_state::state_during_init) { // wait for creation to be done (in other thread, in singleton) before actually running std::this_thread::sleep_for(std::chrono::seconds(1)); diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h index 2ae849e2a..260dd813d 100644 --- a/src/p2p/net_node.h +++ b/src/p2p/net_node.h @@ -270,7 +270,7 @@ namespace nodetool bool m_offline; std::atomic<bool> m_save_graph; std::atomic<bool> is_closing; - std::unique_ptr<std::thread> mPeersLoggerThread; + std::unique_ptr<boost::thread> mPeersLoggerThread; //critical_section m_connections_lock; //connections_indexed_container m_connections; diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index 47a5dc6c3..56717ec66 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -567,7 +567,7 @@ namespace nodetool bool node_server<t_payload_net_handler>::run() { // creating thread to log number of connections - mPeersLoggerThread.reset(new std::thread([&]() + mPeersLoggerThread.reset(new boost::thread([&]() { _note("Thread monitor number of peers - start"); while (!is_closing && !m_net_server.is_stop_signal_sent()) |