| Line | Source | Count | 
| 1 |  | - | 
| 2 |  | - | 
| 3 |  | - | 
| 4 |  | - | 
| 5 |  | - | 
| 6 | namespace QtConcurrent { | - | 
| 7 |  | - | 
| 8 | ThreadEngineBarrier::ThreadEngineBarrier() | - | 
| 9 | :count(0) { }executed 81063 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 81063 | 
| 10 |  | - | 
| 11 | void ThreadEngineBarrier::acquire() | - | 
| 12 | { | - | 
| 13 |     for(;;) { | - | 
| 14 |         int localCount = count.load(); | - | 
| 15 |         if (localCount < 0| TRUE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 161507 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 10-161507 | 
| 16 |             if (count.testAndSetOrdered(localCount, localCount -1)| TRUE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-10 | 
| 17 |                 return;executed 10 times by 1 test:  return;Executed by:- tst_qtconcurrentthreadengine - unknown status
 
    | 10 | 
| 18 |         } never executed: end of block  else { | 0 | 
| 19 |             if (count.testAndSetOrdered(localCount, localCount + 1)| TRUE | evaluated 161507 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-161507 | 
| 20 |                 return;executed 161507 times by 5 tests:  return;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 161507 | 
| 21 |         } never executed: end of block  | 0 | 
| 22 |     } | - | 
| 23 | } never executed: end of block  | 0 | 
| 24 |  | - | 
| 25 | int ThreadEngineBarrier::release() | - | 
| 26 | { | - | 
| 27 |     for(;;) { | - | 
| 28 |         int localCount = count.load(); | - | 
| 29 |         if (localCount == -1| TRUE | evaluated 70 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 161436 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 70-161436 | 
| 30 |             if (count.testAndSetOrdered(-1, 0)| TRUE | evaluated 70 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) { | 0-70 | 
| 31 |                 semaphore.release(); | - | 
| 32 |                 returnexecuted 70 times by 4 tests:  return 0;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    0;executed 70 times by 4 tests:  return 0;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 70 | 
| 33 |             } | - | 
| 34 |         } never executed: end of block  else if (localCount < 0| TRUE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 161426 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 0-161426 | 
| 35 |             if (count.testAndSetOrdered(localCount, localCount + 1)| TRUE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-10 | 
| 36 |                 returnexecuted 10 times by 1 test:  return qAbs(localCount + 1);Executed by:- tst_qtconcurrentthreadengine - unknown status
 
    qAbs(localCount + 1);executed 10 times by 1 test:  return qAbs(localCount + 1);Executed by:- tst_qtconcurrentthreadengine - unknown status
 
    | 10 | 
| 37 |         } never executed: end of block  else { | 0 | 
| 38 |             if (count.testAndSetOrdered(localCount, localCount - 1)| TRUE | evaluated 161426 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-161426 | 
| 39 |                 returnexecuted 161426 times by 5 tests:  return localCount - 1;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    localCount - 1;executed 161426 times by 5 tests:  return localCount - 1;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 161426 | 
| 40 |         } never executed: end of block  | 0 | 
| 41 |     } | - | 
| 42 | } never executed: end of block  | 0 | 
| 43 |  | - | 
| 44 |  | - | 
| 45 | void ThreadEngineBarrier::wait() | - | 
| 46 | { | - | 
| 47 |     for(;;) { | - | 
| 48 |         int localCount = count.load(); | - | 
| 49 |         if (localCount == 0| TRUE | evaluated 20487 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 70 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 70-20487 | 
| 50 |             return;executed 20487 times by 4 tests:  return;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 20487 | 
| 51 |  | - | 
| 52 |         ((!(localCount > 0)) ? qt_assert("localCount > 0",__FILE__,86) : qt_noop()); | - | 
| 53 |         if (count.testAndSetOrdered(localCount, -localCount)| TRUE | evaluated 70 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) { | 0-70 | 
| 54 |             semaphore.acquire(); | - | 
| 55 |             return;executed 70 times by 4 tests:  return;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 70 | 
| 56 |         } | - | 
| 57 |     } never executed: end of block  | 0 | 
| 58 | } never executed: end of block  | 0 | 
| 59 |  | - | 
| 60 | int ThreadEngineBarrier::currentCount() | - | 
| 61 | { | - | 
| 62 |     return never executed: return count.load();  count.load();never executed: return count.load();  | 0 | 
| 63 | } | - | 
| 64 |  | - | 
| 65 |  | - | 
| 66 |  | - | 
| 67 | bool ThreadEngineBarrier::releaseUnlessLast() | - | 
| 68 | { | - | 
| 69 |     for(;;) { | - | 
| 70 |         int localCount = count.load(); | - | 
| 71 |         if (qAbs(localCount) == 1| TRUE | evaluated 2084 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 11 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 11-2084 | 
| 72 |             returnexecuted 2084 times by 2 tests:  return false;Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    false;executed 2084 times by 2 tests:  return false;Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 2084 | 
| 73 |         } else if (localCount < 0| TRUE | never evaluated |  | FALSE | evaluated 11 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 0-11 | 
| 74 |             if (count.testAndSetOrdered(localCount, localCount + 1)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 75 |                 return never executed: return true;  true;never executed: return true;  | 0 | 
| 76 |         } never executed: end of block  else { | 0 | 
| 77 |             if (count.testAndSetOrdered(localCount, localCount - 1)| TRUE | evaluated 11 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-11 | 
| 78 |                 returnexecuted 11 times by 2 tests:  return true;Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    true;executed 11 times by 2 tests:  return true;Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 11 | 
| 79 |         } never executed: end of block  | 0 | 
| 80 |     } | - | 
| 81 | } never executed: end of block  | 0 | 
| 82 |  | - | 
| 83 | ThreadEngineBase::ThreadEngineBase() | - | 
| 84 | :futureInterface(0), threadPool(QThreadPool::globalInstance()) | - | 
| 85 | { | - | 
| 86 |     setAutoDelete(false); | - | 
| 87 | }executed 81063 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 81063 | 
| 88 |  | - | 
| 89 | ThreadEngineBase::~ThreadEngineBase() {} | - | 
| 90 |  | - | 
| 91 | void ThreadEngineBase::startSingleThreaded() | - | 
| 92 | { | - | 
| 93 |     start(); | - | 
| 94 |     while (threadFunction() != ThreadFinished| TRUE | never evaluated |  | FALSE | evaluated 1 time by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 0-1 | 
| 95 |         ; never executed: ;  | 0 | 
| 96 |     finish(); | - | 
| 97 | }executed 1 time by 1 test:  end of blockExecuted by:- tst_qtconcurrentthreadengine - unknown status
 
    | 1 | 
| 98 |  | - | 
| 99 | void ThreadEngineBase::startBlocking() | - | 
| 100 | { | - | 
| 101 |     start(); | - | 
| 102 |     barrier.acquire(); | - | 
| 103 |     startThreads(); | - | 
| 104 |  | - | 
| 105 |     bool throttled = false; | - | 
| 106 |  | - | 
| 107 |     try { | - | 
| 108 |  | - | 
| 109 |         while (threadFunction() == ThrottleThread| TRUE | evaluated 104 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 20543 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 104-20543 | 
| 110 |             if (threadThrottleExit()| TRUE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 94 times by 1 testEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 
   |  
  ) { | 10-94 | 
| 111 |                 throttled = true; | - | 
| 112 |                 break;executed 10 times by 1 test:  break;Executed by:- tst_qtconcurrentthreadengine - unknown status
 
    | 10 | 
| 113 |             } | - | 
| 114 |         }executed 94 times by 1 test:  end of blockExecuted by:- tst_qtconcurrentiteratekernel - unknown status
 
    | 94 | 
| 115 |  | - | 
| 116 |     }executed 20553 times by 4 tests:  end of blockExecuted by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    catch (QException &e) { | 20553 | 
| 117 |         handleException(e); | - | 
| 118 |     }executed 2 times by 1 test:  end of blockExecuted by:- tst_qtconcurrentthreadengine - unknown status
 
    catch (...) { | 2 | 
| 119 |         handleException(QUnhandledException()); | - | 
| 120 |     }executed 2 times by 1 test:  end of blockExecuted by:- tst_qtconcurrentthreadengine - unknown status
 
    | 2 | 
| 121 |  | - | 
| 122 |  | - | 
| 123 |     if (throttled == false| TRUE | evaluated 20547 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 10 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 10-20547 | 
| 124 |         barrier.release(); | - | 
| 125 |     }executed 20547 times by 4 tests:  end of blockExecuted by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 20547 | 
| 126 |  | - | 
| 127 |     barrier.wait(); | - | 
| 128 |     finish(); | - | 
| 129 |     exceptionStore.throwPossibleException(); | - | 
| 130 | }executed 20553 times by 4 tests:  end of blockExecuted by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 20553 | 
| 131 |  | - | 
| 132 | void ThreadEngineBase::startThread() | - | 
| 133 | { | - | 
| 134 |     startThreadInternal(); | - | 
| 135 | }executed 19243 times by 4 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 19243 | 
| 136 |  | - | 
| 137 | void ThreadEngineBase::acquireBarrierSemaphore() | - | 
| 138 | { | - | 
| 139 |     barrier.acquire(); | - | 
| 140 | }executed 60506 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 60506 | 
| 141 |  | - | 
| 142 | bool ThreadEngineBase::isCanceled() | - | 
| 143 | { | - | 
| 144 |     if (futureInterface| TRUE | evaluated 133124 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 48136 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 48136-133124 | 
| 145 |         returnexecuted 133124 times by 5 tests:  return futureInterface->isCanceled();Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    futureInterface->isCanceled();executed 133124 times by 5 tests:  return futureInterface->isCanceled();Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 133124 | 
| 146 |     else | - | 
| 147 |         returnexecuted 48136 times by 4 tests:  return false;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    false;executed 48136 times by 4 tests:  return false;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 48136 | 
| 148 | } | - | 
| 149 |  | - | 
| 150 | void ThreadEngineBase::waitForResume() | - | 
| 151 | { | - | 
| 152 |     if (futureInterface| TRUE | evaluated 6309 times by 4 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
   |  | FALSE | evaluated 13687 times by 3 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
   |  
  ) | 6309-13687 | 
| 153 |         futureInterface->waitForResume();executed 6309 times by 4 tests:  futureInterface->waitForResume();Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 6309 | 
| 154 | }executed 19996 times by 4 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 19996 | 
| 155 |  | - | 
| 156 | bool ThreadEngineBase::isProgressReportingEnabled() | - | 
| 157 | { | - | 
| 158 |  | - | 
| 159 |     returnexecuted 20914 times by 4 tests:  return (futureInterface != 0);Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    (futureInterface != 0);executed 20914 times by 4 tests:  return (futureInterface != 0);Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 20914 | 
| 160 | } | - | 
| 161 |  | - | 
| 162 | void ThreadEngineBase::setProgressValue(int progress) | - | 
| 163 | { | - | 
| 164 |     if (futureInterface| TRUE | evaluated 5904 times by 4 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-5904 | 
| 165 |         futureInterface->setProgressValue(progress);executed 5904 times by 4 tests:  futureInterface->setProgressValue(progress);Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 5904 | 
| 166 | }executed 5904 times by 4 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 5904 | 
| 167 |  | - | 
| 168 | void ThreadEngineBase::setProgressRange(int minimum, int maximum) | - | 
| 169 | { | - | 
| 170 |     if (futureInterface| TRUE | evaluated 259 times by 4 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
   |  | FALSE | never evaluated |  
  ) | 0-259 | 
| 171 |         futureInterface->setProgressRange(minimum, maximum);executed 259 times by 4 tests:  futureInterface->setProgressRange(minimum, maximum);Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 259 | 
| 172 | }executed 259 times by 4 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 
    | 259 | 
| 173 |  | - | 
| 174 | bool ThreadEngineBase::startThreadInternal() | - | 
| 175 | { | - | 
| 176 |     if (this->isCanceled()| TRUE | never evaluated |  | FALSE | evaluated 80454 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 0-80454 | 
| 177 |         return never executed: return false;  false;never executed: return false;  | 0 | 
| 178 |  | - | 
| 179 |     barrier.acquire(); | - | 
| 180 |     if (!threadPool->tryStart(this)| TRUE | evaluated 80218 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 236 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 236-80218 | 
| 181 |         barrier.release(); | - | 
| 182 |         returnexecuted 80218 times by 5 tests:  return false;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    false;executed 80218 times by 5 tests:  return false;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 80218 | 
| 183 |     } | - | 
| 184 |     returnexecuted 236 times by 4 tests:  return true;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    true;executed 236 times by 4 tests:  return true;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 236 | 
| 185 | } | - | 
| 186 |  | - | 
| 187 | void ThreadEngineBase::startThreads() | - | 
| 188 | { | - | 
| 189 |     while (shouldStartThread()| TRUE | evaluated 61211 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 20220 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
   && startThreadInternal()| TRUE | evaluated 234 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 60977 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 234-61211 | 
| 190 |         ;executed 234 times by 4 tests:  ;Executed by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 234 | 
| 191 | }executed 81197 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 81197 | 
| 192 |  | - | 
| 193 | void ThreadEngineBase::threadExit() | - | 
| 194 | { | - | 
| 195 |     const bool asynchronous = futureInterface != 0; | - | 
| 196 |     const int lastThread = (barrier.release() == 0); | - | 
| 197 |  | - | 
| 198 |     if (lastThread| TRUE | evaluated 60576 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 165 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
   && asynchronous| TRUE | evaluated 60506 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 70 times by 4 testsEvaluated by:- tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 70-60576 | 
| 199 |         this->asynchronousFinish();executed 60506 times by 5 tests:  this->asynchronousFinish();Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 60506 | 
| 200 | }executed 60741 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 60741 | 
| 201 |  | - | 
| 202 |  | - | 
| 203 |  | - | 
| 204 |  | - | 
| 205 | bool ThreadEngineBase::threadThrottleExit() | - | 
| 206 | { | - | 
| 207 |     returnexecuted 2095 times by 2 tests:  return barrier.releaseUnlessLast();Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    barrier.releaseUnlessLast();executed 2095 times by 2 tests:  return barrier.releaseUnlessLast();Executed by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 2095 | 
| 208 | } | - | 
| 209 |  | - | 
| 210 | void ThreadEngineBase::run() | - | 
| 211 | { | - | 
| 212 |     if (this->isCanceled()| TRUE | evaluated 102 times by 3 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 60640 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 102-60640 | 
| 213 |         threadExit(); | - | 
| 214 |         return;executed 102 times by 3 tests:  return;Executed by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 102 | 
| 215 |     } | - | 
| 216 |  | - | 
| 217 |     startThreads(); | - | 
| 218 |  | - | 
| 219 |  | - | 
| 220 |     try { | - | 
| 221 |  | - | 
| 222 |         while (threadFunction() == ThrottleThread| TRUE | evaluated 1991 times by 2 testsEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 60632 times by 5 testsEvaluated by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) { | 1991-60632 | 
| 223 |  | - | 
| 224 |  | - | 
| 225 |  | - | 
| 226 |  | - | 
| 227 |             if (threadThrottleExit()| TRUE | evaluated 1 time by 1 testEvaluated by:- tst_qtconcurrentiteratekernel - unknown status
 
   |  | FALSE | evaluated 1990 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 1-1990 | 
| 228 |                 return;executed 1 time by 1 test:  return;Executed by:- tst_qtconcurrentiteratekernel - unknown status
 
    | 1 | 
| 229 |         }executed 1990 times by 1 test:  end of blockExecuted by:- tst_qtconcurrentthreadengine - unknown status
 
    | 1990 | 
| 230 |  | - | 
| 231 |  | - | 
| 232 |     }executed 60632 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    catch (QException &e) { | 60632 | 
| 233 |         handleException(e); | - | 
| 234 |     }executed 4 times by 2 tests:  end of blockExecuted by:- tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    catch (...) { | 4 | 
| 235 |         handleException(QUnhandledException()); | - | 
| 236 |     }executed 3 times by 1 test:  end of blockExecuted by:- tst_qtconcurrentthreadengine - unknown status
 
    | 3 | 
| 237 |  | - | 
| 238 |     threadExit(); | - | 
| 239 | }executed 60639 times by 5 tests:  end of blockExecuted by:- tst_qfuturewatcher - unknown status
 - tst_qtconcurrentfilter - unknown status
 - tst_qtconcurrentiteratekernel - unknown status
 - tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 60639 | 
| 240 |  | - | 
| 241 |  | - | 
| 242 |  | - | 
| 243 | void ThreadEngineBase::handleException(const QException &exception) | - | 
| 244 | { | - | 
| 245 |     if (futureInterface| TRUE | evaluated 3 times by 2 testsEvaluated by:- tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
   |  | FALSE | evaluated 8 times by 1 testEvaluated by:- tst_qtconcurrentthreadengine - unknown status
 
   |  
  ) | 3-8 | 
| 246 |         futureInterface->reportException(exception);executed 3 times by 2 tests:  futureInterface->reportException(exception);Executed by:- tst_qtconcurrentmap - unknown status
 - tst_qtconcurrentthreadengine - unknown status
 
    | 3 | 
| 247 |     else | - | 
| 248 |         exceptionStore.setException(exception);executed 8 times by 1 test:  exceptionStore.setException(exception);Executed by:- tst_qtconcurrentthreadengine - unknown status
 
    | 8 | 
| 249 | } | - | 
| 250 |  | - | 
| 251 |  | - | 
| 252 |  | - | 
| 253 | } | - | 
| 254 |  | - | 
| 255 |  | - | 
 |  |  |