Subj : Re: A question about atomic_ptr To : comp.programming.threads From : Peter Dimov Date : Mon Apr 11 2005 01:53 pm Chris Thomasson wrote: > local_ptr = shared_ptr > ------------------------------- > atomic_inc_acquire( &shared_ptr::refs ); > local_ptr::refs = 1; > > > local_ptr = 0 > ------------------------------- > --local_ptr::refs > if ( ! local_ptr::refs ) > { > if ( ! atomic_dec_acquire( &shared_ptr::refs ) ) > { > // whatever > } > } Yes, exactly, but why acquire in the increment? Won't the usual release on nonzero/acquire on zero decrement do? .