aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-10-29 13:31:53 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-10-29 13:31:53 +0100
commit836669d276c1efda3f2805b17f0488a12bf3e85b (patch)
tree03e12e8508acffc731912721eb2ea7bb97efd7f9
parentMerge pull request #1253 (diff)
downloadmonero-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
-rw-r--r--src/ringct/rctSigs.cpp6
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(); });