On 5/8/05, Peter Dimov <pdimov at mmltd.net> wrote: [...] > Infallible CAS: do { if( LL() != old ) return false; } while( !SC(new) ); > return true; > Fallible CAS: return LL() == old && SC(new); I'd rather expose (compile time feature testing required) LL/LR and SC. regards, alexander.