| 745 | } |
| 746 | |
| 747 | void signal(ssize_t count = 1) AE_NO_TSAN |
| 748 | { |
| 749 | assert(count >= 0); |
| 750 | ssize_t oldCount = m_count.fetch_add_release(count); |
| 751 | assert(oldCount >= -1); |
| 752 | if (oldCount < 0) |
| 753 | { |
| 754 | m_sema.signal(1); |
| 755 | } |
| 756 | } |
| 757 | |
| 758 | std::size_t availableApprox() const AE_NO_TSAN |
| 759 | { |