aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2016-05-10 12:07:47 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2016-05-10 12:08:08 +0200
commit5767e80dda7a699597b4798d1546e618edb50928 (patch)
tree19669c274817b11fa0b036414a081f6c2871cf04
parentb33824b76cbf4117704dc2e936a0a36b76cd2ef2 (diff)
parent166e4b0dfa283fbdedc9a6a1e83296500c853a31 (diff)
Merge #8016: Fix multithread CScheduler and reenable test
166e4b0 Notify other serviceQueue thread we are finished to prevent deadlocks. (Pavel Janík) db18ab2 Reenable multithread scheduler test. (Pavel Janík)
-rw-r--r--src/scheduler.cpp1
-rw-r--r--src/test/scheduler_tests.cpp2
2 files changed, 1 insertions, 2 deletions
diff --git a/src/scheduler.cpp b/src/scheduler.cpp
index 184ddc28ab..52777b61f9 100644
--- a/src/scheduler.cpp
+++ b/src/scheduler.cpp
@@ -79,6 +79,7 @@ void CScheduler::serviceQueue()
}
}
--nThreadsServicingQueue;
+ newTaskScheduled.notify_one();
}
void CScheduler::stop(bool drain)
diff --git a/src/test/scheduler_tests.cpp b/src/test/scheduler_tests.cpp
index 9acd0e2430..aa12dfbd54 100644
--- a/src/test/scheduler_tests.cpp
+++ b/src/test/scheduler_tests.cpp
@@ -40,7 +40,6 @@ static void MicroSleep(uint64_t n)
#endif
}
-#if 0 /* Disabled for now because there is a race condition issue in this test - see #6540 */
BOOST_AUTO_TEST_CASE(manythreads)
{
seed_insecure_rand(false);
@@ -116,6 +115,5 @@ BOOST_AUTO_TEST_CASE(manythreads)
}
BOOST_CHECK_EQUAL(counterSum, 200);
}
-#endif
BOOST_AUTO_TEST_SUITE_END()