| 77 | } |
| 78 | |
| 79 | void SC::RWLock::lockWrite() |
| 80 | { |
| 81 | mutex.lock(); |
| 82 | waitingWriters++; |
| 83 | while (writerActive || activeReaders > 0) |
| 84 | { |
| 85 | writersQ.wait(mutex); |
| 86 | } |
| 87 | waitingWriters--; |
| 88 | writerActive = true; |
| 89 | mutex.unlock(); |
| 90 | } |
| 91 | |
| 92 | void SC::RWLock::unlockWrite() |
| 93 | { |