diff options
Diffstat (limited to 'src/mongo/unittest/barrier.cpp')
-rw-r--r-- | src/mongo/unittest/barrier.cpp | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/mongo/unittest/barrier.cpp b/src/mongo/unittest/barrier.cpp index 4db0600ef63..36c8778cabd 100644 --- a/src/mongo/unittest/barrier.cpp +++ b/src/mongo/unittest/barrier.cpp @@ -35,28 +35,25 @@ namespace mongo { namespace unittest { - Barrier::Barrier(size_t threadCount) - : _threadCount(threadCount), - _threadsWaiting(threadCount), - _generation(0) { - invariant(_threadCount > 0); - } +Barrier::Barrier(size_t threadCount) + : _threadCount(threadCount), _threadsWaiting(threadCount), _generation(0) { + invariant(_threadCount > 0); +} - void Barrier::countDownAndWait() { - stdx::unique_lock<stdx::mutex> _lock(_mutex); - _threadsWaiting--; - if (_threadsWaiting == 0) { - _generation++; - _threadsWaiting = _threadCount; - _condition.notify_all(); - } - else { - uint64_t currentGeneration = _generation; - while (currentGeneration == _generation) { - _condition.wait(_lock); - } +void Barrier::countDownAndWait() { + stdx::unique_lock<stdx::mutex> _lock(_mutex); + _threadsWaiting--; + if (_threadsWaiting == 0) { + _generation++; + _threadsWaiting = _threadCount; + _condition.notify_all(); + } else { + uint64_t currentGeneration = _generation; + while (currentGeneration == _generation) { + _condition.wait(_lock); } } +} -} // namespace unittest -} // namespace mongo +} // namespace unittest +} // namespace mongo |