| 25 | } |
| 26 | |
| 27 | bool AsyncGroup::leaveIfNotCompleted() { |
| 28 | std::unique_lock<Mutex> guard(_mutex); |
| 29 | if (_enterCount == 0) { |
| 30 | return false; |
| 31 | } |
| 32 | |
| 33 | doLeave(guard); |
| 34 | return true; |
| 35 | } |
| 36 | |
| 37 | void AsyncGroup::doLeave(std::unique_lock<Mutex>& guard) { |
| 38 | SC_ASSERT(_enterCount > 0, "Unbalanced enter(), leave() calls"); |