Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
spinlocker
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
3 ms
·
1.
▲
by
spinlocker
5y ago
Looks like in C++ memory_order_acq_rel is treated like memory_order_acquire when it's a load and memory_order_release when it's a store. I would argue that this isn't really a difference in memory model but a difference in AP
2.
▲
by
spinlocker
5y ago
I believe your claim is correct: https://news.ycombinator.com/item?id=27758461 .
3.
▲
by
spinlocker
5y ago
On the page you linked panics are only mentioned for load and store and the code below seems to work just fine? let x = atomic::AtomicU32::new(0); x.compare_exchange_weak( 0, 1, atomic::Ordering::AcqRel,
4.
▲
by
spinlocker
5y ago
> I'll also note that using AcqRel semantics is not provided by the Rust version of compare_exchange_weak (perhaps a nit on TFA's assertion that Rust adopts the C++ memory model wholesale), so if acquire to lock the spinlock is