Can Reordering of Release/Acquire Operations Introduce Deadlock?

from blog Preshing on Programming, | ↗ original
I wasn’t planning to write about lock-free programming again, but a commenter named Mike recently asked an interesting question on my Acquire and Release Semantics post from 2012. It’s a question I wondered about years ago, but could never really reconcile until (possibly) now. A quick recap: A read-acquire operation cannot be reordered, either...