Skip the CAS on new_pos < 0 (#1080)

This commit is contained in:
Jōshin 2024-01-13 00:08:28 -05:00 committed by GitHub
parent fd75fd1467
commit 6715b670b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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;
} }