We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent fd3e074 commit bb580daCopy full SHA for bb580da
include/hx/StdLibs.h
@@ -522,9 +522,11 @@ struct AtomicObject: hx::Object {
522
}
523
524
Dynamic compareExchange(Dynamic expected, Dynamic replacement) {
525
- hx::Object *original = aPtr.load();
+ // Note: using Dynamic instead of hx::Object* is important
526
+ // Dynamic has an overloaded == operator, a raw pointer to hx::Object does not.
527
+ Dynamic original = aPtr.load();
528
while (original == expected) {
- if (aPtr.compare_exchange_weak(original, replacement.mPtr)) {
529
+ if (aPtr.compare_exchange_weak(original.mPtr, replacement.mPtr)) {
530
HX_OBJ_WB_GET(this, replacement.mPtr);
531
return original;
532
} else {
0 commit comments