https://issues.dlang.org/show_bug.cgi?id=16352
safety0ff.bugz <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #6 from safety0ff.bugz <[email protected]> --- SharedFreeList.allocate looks ABA prone: A thread does: do { oldRoot = _root; // atomic load if (!oldRoot) return allocateFresh(bytes); next = oldRoot.next; // atomic load } while (!cas(&_root, oldRoot, next)); But the value of `next` could have changed between the load and the cas. --
