From 7962420697ce2435e75f67bd3d2357f38183d201 Mon Sep 17 00:00:00 2001 From: Daan Leijen Date: Mon, 22 Feb 2021 12:37:08 -0800 Subject: [PATCH] fix bug in bitmap is_claimed_across; issue #368 --- src/bitmap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bitmap.c b/src/bitmap.c index 68ae3b2e..75da19df 100644 --- a/src/bitmap.c +++ b/src/bitmap.c @@ -372,13 +372,13 @@ static bool mi_bitmap_is_claimedx_across(mi_bitmap_t bitmap, size_t bitmap_field if ((prev & pre_mask) != 0) any_ones = true; while (mid_count-- > 0) { prev = mi_atomic_load_relaxed(field++); - if ((prev & pre_mask) != pre_mask) all_ones = false; - if ((prev & pre_mask) != 0) any_ones = true; + if ((prev & mid_mask) != mid_mask) all_ones = false; + if ((prev & mid_mask) != 0) any_ones = true; } if (post_mask!=0) { prev = mi_atomic_load_relaxed(field); - if ((prev & pre_mask) != pre_mask) all_ones = false; - if ((prev & pre_mask) != 0) any_ones = true; + if ((prev & post_mask) != post_mask) all_ones = false; + if ((prev & post_mask) != 0) any_ones = true; } if (pany_ones != NULL) *pany_ones = any_ones; return all_ones;