Merge commit 'adae78ea9940f4d44382967d1296e7db0b54a4de' into leveldb-squashed
This commit is contained in:
@@ -109,12 +109,10 @@ void CondVar::Signal() {
|
||||
|
||||
void CondVar::SignalAll() {
|
||||
wait_mtx_.Lock();
|
||||
for(long i = 0; i < waiting_; ++i) {
|
||||
::ReleaseSemaphore(sem1_, 1, NULL);
|
||||
while(waiting_ > 0) {
|
||||
--waiting_;
|
||||
::WaitForSingleObject(sem2_, INFINITE);
|
||||
}
|
||||
::ReleaseSemaphore(sem1_, waiting_, NULL);
|
||||
while(waiting_ > 0) {
|
||||
--waiting_;
|
||||
::WaitForSingleObject(sem2_, INFINITE);
|
||||
}
|
||||
wait_mtx_.Unlock();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user