From 5ce1a9bfef782d3df453d8125b71b05499081950 Mon Sep 17 00:00:00 2001 From: daanx Date: Fri, 1 Mar 2024 18:58:11 -0800 Subject: [PATCH] fix cas call --- src/arena.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/arena.c b/src/arena.c index 0875e49e..00132bf8 100644 --- a/src/arena.c +++ b/src/arena.c @@ -751,7 +751,8 @@ bool _mi_arena_segment_clear_abandoned(mi_segment_t* segment ) if (segment->memid.memkind != MI_MEM_ARENA) { // not in an arena, consider it un-abandoned now. // but we need to still claim it atomically -- we use the thread_id for that. - if (mi_atomic_cas_strong_acq_rel(&segment->thread_id, 0, _mi_thread_id())) { + size_t expected = 0; + if (mi_atomic_cas_strong_acq_rel(&segment->thread_id, &expected, _mi_thread_id())) { mi_atomic_decrement_relaxed(&abandoned_count); return true; }