diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-10-29 13:31:53 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-10-29 13:31:53 +0100 |
commit | 836669d276c1efda3f2805b17f0488a12bf3e85b (patch) | |
tree | 03e12e8508acffc731912721eb2ea7bb97efd7f9 /src/ringct/rctSigs.cpp | |
parent | Merge pull request #1253 (diff) | |
download | monero-836669d276c1efda3f2805b17f0488a12bf3e85b.tar.xz |
ringct: always shutdown the boost io service
Even if no worker threads were started, it needs shutting down
or it will cause an invalid access in the io service thread
Diffstat (limited to '')
-rw-r--r-- | src/ringct/rctSigs.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ringct/rctSigs.cpp b/src/ringct/rctSigs.cpp index f7ea3729d..86d98fca2 100644 --- a/src/ringct/rctSigs.cpp +++ b/src/ringct/rctSigs.cpp @@ -772,7 +772,7 @@ namespace rct { threads = std::min(threads, rv.outPk.size()); for (size_t i = 0; i < threads; ++i) threadpool.create_thread(boost::bind(&boost::asio::io_service::run, &ioservice)); - bool ioservice_active = threads > 1; + bool ioservice_active = true; std::deque<bool> results(rv.outPk.size(), false); epee::misc_utils::auto_scope_leave_caller ioservice_killer = epee::misc_utils::create_scope_leave_handler([&]() { KILL_IOSERVICE(); }); @@ -838,7 +838,7 @@ namespace rct { threads = std::min(threads, rv.outPk.size()); for (size_t i = 0; i < threads; ++i) threadpool.create_thread(boost::bind(&boost::asio::io_service::run, &ioservice)); - bool ioservice_active = threads > 1; + bool ioservice_active = true; std::deque<bool> results(rv.outPk.size(), false); epee::misc_utils::auto_scope_leave_caller ioservice_killer = epee::misc_utils::create_scope_leave_handler([&]() { KILL_IOSERVICE(); }); @@ -880,7 +880,7 @@ namespace rct { threads = std::min(threads, rv.mixRing.size()); for (size_t i = 0; i < threads; ++i) threadpool.create_thread(boost::bind(&boost::asio::io_service::run, &ioservice)); - bool ioservice_active = threads > 1; + bool ioservice_active = true; std::deque<bool> results(rv.mixRing.size(), false); epee::misc_utils::auto_scope_leave_caller ioservice_killer = epee::misc_utils::create_scope_leave_handler([&]() { KILL_IOSERVICE(); }); |