
Okay. I will go ahead and post the CAS operations for my "'mostly' lock-free refcount library alternative for Boost...": http://appcore.home.comcast.net/vzoom/refcount/ ;^) If you set your algorithm up right, the low-level nature of the API allows you to do perform lock-free naked loads for the CAS 'compare' logic. You can take advantage of its ability to allow you to know when you can make use of no/basic/strong thread-safety guarantees'. This is a reason why I like to make the API abstractions of my prototypes in a fairly low-level fashion... As soon as I add the rest of the code and the draft-level descriptions that go along with it to my paper; it has to reference atomic reference counting /w CAS anyway it anyway: http://appcore.home.comcast.net/vzdoc/atomic/static-init/ Luckily, I don't have to use DWCAS, and Boost can use it because its my prior art/invention. I do have to say that its performance is definitely not in the same league as my Virtually Zero-Overhead Object Management (vZOOM) solution, or some the zero-overhead algorithm that Joe Seigh has been inventing over at c.p.t. And, FWIW, here is a implementation of a smart-pointer that has lock-free atomic swap/cas, however, it uses SMR which has that memory barrier, and that patent application: http://appcore.home.comcast.net/ Enjoy! ;^)