| 13 | readWriteLock(const char *name) : m_readLock(name), m_writeLock(name) {} |
| 14 | |
| 15 | void acquireRead() { |
| 16 | std::unique_lock<fastlock> rm(m_readLock, std::defer_lock); |
| 17 | if (m_multi) { |
| 18 | rm.lock(); |
| 19 | while (m_writeCount > 0 || m_writeWaiting) |
| 20 | m_cv.wait(rm); |
| 21 | } |
| 22 | m_readCount++; |
| 23 | } |
| 24 | |
| 25 | bool tryAcquireRead() { |
| 26 | std::unique_lock<fastlock> rm(m_readLock, std::defer_lock); |
no test coverage detected