Skip the CAS on new_pos < 0

This commit is contained in:
Jōshin 2024-01-12 10:25:35 -05:00
parent fd75fd1467
commit 12b557abe1
No known key found for this signature in database

View file

@ -66,8 +66,8 @@ Restart:
default: default:
new_pos = einval(); new_pos = einval();
} }
} while (!LIKELY(atomic_compare_exchange_weak_explicit( } while (new_pos >= 0 && !LIKELY(atomic_compare_exchange_weak_explicit(
&h->pos, &pos, new_pos < 0 ? pos : new_pos, memory_order_release, &h->pos, &pos, new_pos, memory_order_release,
memory_order_relaxed))); memory_order_relaxed)));
return new_pos; return new_pos;
} }