| 52 | } |
| 53 | |
| 54 | void ReadersWriterMutex::writeUnlock() { |
| 55 | MutexLocker locker(m_mutex); |
| 56 | m_writers = 0; |
| 57 | if (m_writeWaiters) |
| 58 | m_writeCond.signal(); |
| 59 | else if (m_readWaiters) |
| 60 | m_readCond.broadcast(); |
| 61 | } |
| 62 | |
| 63 | ReadLocker::ReadLocker(ReadersWriterMutex& rwlock, bool startLocked) : m_lock(rwlock), m_locked(false) { |
| 64 | if (startLocked) |