This commit is contained in:
Ren Kimura 2018-09-08 15:30:03 +00:00 committed by GitHub
commit 19a9069120
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,15 +45,12 @@ class HosRecursiveMutex {
HosRecursiveMutex() {
rmutexInit(&this->m);
}
void lock() {
rmutexLock(&this->m);
}
void unlock() {
rmutexUnlock(&this->m);
}
bool try_lock() {
return rmutexTryLock(&this->m);
}
@ -66,15 +63,15 @@ class HosCondVar {
public:
HosCondVar() {
mutexInit(&m);
condvarInit(&cv, &m);
condvarInit(&cv);
}
Result WaitTimeout(u64 timeout) {
return condvarWaitTimeout(&cv, timeout);
return condvarWaitTimeout(&cv, &m, timeout);
}
Result Wait() {
return condvarWait(&cv);
return condvarWait(&cv, &m);
}
Result Wake(int num) {
@ -99,12 +96,12 @@ class HosSemaphore {
HosSemaphore() {
count = 0;
mutexInit(&m);
condvarInit(&cv, &m);
condvarInit(&cv);
}
HosSemaphore(u64 c) : count(c) {
mutexInit(&m);
condvarInit(&cv, &m);
condvarInit(&cv);
}
void Signal() {
@ -117,7 +114,7 @@ class HosSemaphore {
void Wait() {
mutexLock(&this->m);
while (!count) {
condvarWait(&cv);
condvarWait(&cv, &m);
}
count--;
mutexUnlock(&this->m);