| 147 | } |
| 148 | |
| 149 | uint64_t JobQueue::finish() { |
| 150 | // Busy wait, but used only in tests |
| 151 | std::unique_lock<std::mutex> lock{mutex_}; |
| 152 | while (processing_ != 0 || !queue_.empty()) { |
| 153 | ScopedUnlock<std::mutex> unlock{lock}; |
| 154 | std::this_thread::yield(); |
| 155 | } |
| 156 | return enqueueCount_; |
| 157 | } |
| 158 | |
| 159 | JobQueue::Stats JobQueue::getStats() const { |
| 160 | Stats stats; |