diff options
author | 2009-03-02 22:54:33 -0800 | |
---|---|---|
committer | 2009-03-02 22:54:33 -0800 | |
commit | 0bb03408de8886e8d17013219967d42fb9c8cf8c (patch) | |
tree | 6edc73880d91bac5532cdbece4072f7c6ec7d257 /libs/utils/Threads.cpp | |
parent | 7222586f99599fb2de31293277b79e8d4a3acdc2 (diff) |
auto import from //depot/cupcake/@137055
Diffstat (limited to 'libs/utils/Threads.cpp')
-rw-r--r-- | libs/utils/Threads.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp index 74271ba3b4..5f407a9906 100644 --- a/libs/utils/Threads.cpp +++ b/libs/utils/Threads.cpp @@ -896,6 +896,7 @@ void ReadWriteLock::unlockForRead() { mLock.lock(); if (mNumReaders == 0) { + mLock.unlock(); LOG(LOG_WARN, "thread", "WARNING: unlockForRead requested, but not locked\n"); return; @@ -961,6 +962,7 @@ void ReadWriteLock::unlockForWrite() { mLock.lock(); if (mNumWriters == 0) { + mLock.unlock(); LOG(LOG_WARN, "thread", "WARNING: unlockForWrite requested, but not locked\n"); return; @@ -972,7 +974,7 @@ void ReadWriteLock::unlockForWrite() //printf(" wrlk held %.3f msec\n", // (double) mDebugTimer.durationUsecs() / 1000.0); #endif - // mWriteWaiter.signal(); // should other writers get first dibs? + mWriteWaiter.signal(); // should other writers get first dibs? //printf("+++ signaling readers (if any)\n"); mReadWaiter.broadcast(); // wake all readers (if any) mLock.unlock(); |