Critical fix in new barrier impl

This commit is contained in:
fincs 2019-02-23 21:09:41 +01:00
parent e8f3964475
commit bf13da990a

View File

@ -11,11 +11,11 @@ void barrierWait(Barrier *b) {
mutexLock(&b->mutex);
if (b->count++ == b->total) {
b->count = 0;
condvarWake(&b->condvar, b->total);
b->count = 0;
condvarWake(&b->condvar, b->total);
}
else {
condvarWait(&b->condvar, &b->mutex);
condvarWait(&b->condvar, &b->mutex);
}
mutexUnlock(&b->mutex);