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); mutexLock(&b->mutex);
if (b->count++ == b->total) { if (b->count++ == b->total) {
b->count = 0; b->count = 0;
condvarWake(&b->condvar, b->total); condvarWake(&b->condvar, b->total);
} }
else { else {
condvarWait(&b->condvar, &b->mutex); condvarWait(&b->condvar, &b->mutex);
} }
mutexUnlock(&b->mutex); mutexUnlock(&b->mutex);