diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2016-05-10 12:07:47 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2016-05-10 12:08:08 +0200 |
commit | 5767e80dda7a699597b4798d1546e618edb50928 (patch) | |
tree | 19669c274817b11fa0b036414a081f6c2871cf04 | |
parent | b33824b76cbf4117704dc2e936a0a36b76cd2ef2 (diff) | |
parent | 166e4b0dfa283fbdedc9a6a1e83296500c853a31 (diff) | |
download | bitcoin-5767e80dda7a699597b4798d1546e618edb50928.tar.xz |
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.cpp | 1 | ||||
-rw-r--r-- | src/test/scheduler_tests.cpp | 2 |
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() |