| Line | Source Code | Coverage | 
|---|
| 1 |  | - | 
| 2 |  | - | 
| 3 |  | - | 
| 4 |  | - | 
| 5 |  | - | 
| 6 | static QMutexPool *globalMutexPool() { static QGlobalStatic<QMutexPool > thisGlobalStatic = { { (0) }, false }; if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { QMutexPool *x = new QMutexPool (QMutex::Recursive); if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<QMutexPool > cleanup(thisGlobalStatic); } return thisGlobalStatic.pointer.load(); } never executed: delete x;executed:  return thisGlobalStatic.pointer.load();Execution Count:44701partially evaluated:  !thisGlobalStatic.pointer.testAndSetOrdered(0, x)| no Evaluation Count:0 | yes Evaluation Count:33 | 
evaluated:  !thisGlobalStatic.pointer.load()| yes Evaluation Count:33 | yes Evaluation Count:44668 | 
partially evaluated:  !thisGlobalStatic.destroyed| yes Evaluation Count:33 | no Evaluation Count:0 | 
 | 0-44701 | 
| 7 | QMutexPool::QMutexPool(QMutex::RecursionMode recursionMode, int size) | - | 
| 8 | : mutexes(size), recursionMode(recursionMode) | - | 
| 9 | { | - | 
| 10 | for (int index = 0; index < mutexes.count(); ++index) { evaluated:  index < mutexes.count()| yes Evaluation Count:4323 | yes Evaluation Count:33 | 
 | 33-4323 | 
| 11 | mutexes[index].store(0); | - | 
| 12 | } executed:  }Execution Count:4323 | 4323 | 
| 13 | } executed:  }Execution Count:33 | 33 | 
| 14 |  | - | 
| 15 |  | - | 
| 16 |  | - | 
| 17 |  | - | 
| 18 |  | - | 
| 19 | QMutexPool::~QMutexPool() | - | 
| 20 | { | - | 
| 21 | for (int index = 0; index < mutexes.count(); ++index) evaluated:  index < mutexes.count()| yes Evaluation Count:29213 | yes Evaluation Count:223 | 
 | 223-29213 | 
| 22 | delete mutexes[index].load(); executed:  delete mutexes[index].load();Execution Count:29213 | 29213 | 
| 23 | } executed:  }Execution Count:223 | 223 | 
| 24 |  | - | 
| 25 |  | - | 
| 26 |  | - | 
| 27 |  | - | 
| 28 | QMutexPool *QMutexPool::instance() | - | 
| 29 | { | - | 
| 30 | return globalMutexPool(); never executed: return globalMutexPool(); | 0 | 
| 31 | } | - | 
| 32 | QMutex *QMutexPool::createMutex(int index) | - | 
| 33 | { | - | 
| 34 |  | - | 
| 35 | QMutex *newMutex = new QMutex(recursionMode); | - | 
| 36 | if (!mutexes[index].testAndSetRelease(0, newMutex)) partially evaluated:  !mutexes[index].testAndSetRelease(0, newMutex)| no Evaluation Count:0 | yes Evaluation Count:157 | 
 | 0-157 | 
| 37 | delete newMutex; never executed: delete newMutex; | 0 | 
| 38 | return mutexes[index].load(); executed:  return mutexes[index].load();Execution Count:157 | 157 | 
| 39 | } | - | 
| 40 |  | - | 
| 41 |  | - | 
| 42 |  | - | 
| 43 |  | - | 
| 44 | QMutex *QMutexPool::globalInstanceGet(const void *address) | - | 
| 45 | { | - | 
| 46 | QMutexPool * const globalInstance = globalMutexPool(); | - | 
| 47 | if (globalInstance == 0) partially evaluated:  globalInstance == 0| no Evaluation Count:0 | yes Evaluation Count:44701 | 
 | 0-44701 | 
| 48 | return 0; never executed: return 0; | 0 | 
| 49 | return globalInstance->get(address); executed:  return globalInstance->get(address);Execution Count:44701 | 44701 | 
| 50 | } | - | 
| 51 |  | - | 
| 52 |  | - | 
| 53 |  | - | 
|  |  |  |