Boost logo

Boost :

Subject: Re: [boost] Using Boost.Atomic for shared_ptr
From: Helge Bahmann (hcb_at_[hidden])
Date: 2009-12-22 02:42:16


On Mon, 21 Dec 2009, Peter Dimov wrote:
> Relaxed is fine for add_ref. The decrements need to be acqrel.
> use_count() needs acquire.

I think that decrement can be:

if (use_count_.fetch_sub(1, memory_order_release)==1) {
   atomic_thread_fence(memory_order_acquire);
   ...
}

i.e. save the acquire unless the object is going to be deleted.

Helge


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk