summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorZach Mullen <zach.mullen@kitware.com>2009-11-09 21:07:47 (GMT)
committerZach Mullen <zach.mullen@kitware.com>2009-11-09 21:07:47 (GMT)
commitf7899c7445121594d2e9324e4a3de815e1066255 (patch)
tree03aaea23bb637aa5c1c013f1bcbbd28e4ef40d9e /Source
parent0106b490dea8c5df7ea529da8851e0059aef6c92 (diff)
downloadCMake-f7899c7445121594d2e9324e4a3de815e1066255.zip
CMake-f7899c7445121594d2e9324e4a3de815e1066255.tar.gz
CMake-f7899c7445121594d2e9324e4a3de815e1066255.tar.bz2
Fixed a bug where it was possible for a test to be started twice if a lower-indexed test depended on it.
Diffstat (limited to 'Source')
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 4b3d425..cc23811 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -196,6 +196,11 @@ void cmCTestMultiProcessHandler::StartNextTests()
for(TestSet::iterator test = tests.begin();
test != tests.end(); ++test)
{
+ //in case this test has already been started due to dependency
+ if(this->TestRunningMap[*test] || this->TestFinishMap[*test])
+ {
+ continue;
+ }
size_t processors = GetProcessorsUsed(*test);
if(processors > numToStart)
{