Boost logo

Boost Users :

From: Mika Heiskanen (mika.heiskanen_at_[hidden])
Date: 2008-08-16 10:36:58


David Abrahams wrote:
> on Sat Aug 16 2008, "Eduardo Panisset" <eduardo.panisset-AT-gmail.com> wrote:
>
>> if( new_use_count == 0 )
>> {
>> dispose();
>> weak_release();
>> }
>>
>> How Can I ensure that the release member function wouldn't dispose a pointee
>> more than one time ? (release executing concurrently from different
>> shared_ptr instances)
>
> Because the reference count was 1, there can be only one shared_ptr
> instance that owns the pointee. No other threads can be referencing it.

But since the mutex is released, a copy could be created before the
new_use_count test is reached? Or is it impossible to create a copy if
use_count_ is zero?

[Sorry, I didn't take the time to look at the code myself, gotta run.]

--> Mika Heiskanen


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net