epoch: fix idle detection bug in synchronize.

An idle grace period requires all threads to be idle. This optimization
introduced a regression with idle detection if subset of threads are
both active and idle. Unfortunately, none of our test machines detected
the problem.

This issue was reported by Julie Zhao <julie.zhao@sparkpos....>
ck_pring
Samy Al Bahra 8 years ago
parent 255a47553a
commit d24fc277ad

@ -309,11 +309,12 @@ ck_epoch_scan(struct ck_epoch *global,
{
ck_stack_entry_t *cursor;
*af = false;
if (cr == NULL) {
cursor = CK_STACK_FIRST(&global->records);
*af = false;
} else {
cursor = &cr->record_next;
*af = true;
}
while (cursor != NULL) {

Loading…
Cancel
Save