Boost logo

Boost Users :

Subject: Re: [Boost-users] Thread Safety of shared_ptr
From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2011-05-02 10:23:27


On Mon, May 2, 2011 at 3:01 PM, Frank Mori Hess <frank.hess_at_[hidden]> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Monday, May 02, 2011, Peter Dimov wrote:
> > > // thread B
> > > // p2 goes out of scope: undefined, the destructor is considered a
> > >
> > > "write access"
> >
> > This example just says that you can't make a copy of a destroyed
> > shared_ptr, or one that is in the process of being destroyed. In
> > principle, it has nothing to do with reference counts. Doing something
> > with a destroyed object of any type is undefined behavior in C++.
>
> It looks like the example isn't quite right though, as p2 was declared in
> thread A so it can't go out of scope in thread B.
>

It still can happen if p2 is a weak_ptr in thread "A" and the corresponding
shared_ptr goes out of scope in thread "B".

Best Regards,
Ovanes



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