From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2004-09-27 06:56:12


John Torjo wrote:
[...]
> > lock() calls InterlockedCompareExchange (too bad it's fully fenced)
> > if refcount isn't 0. Again, it can't see "false" zero.
> >
>
> of course - with the change I suggested ;)

Really?

>
> I wanted to say that the original implementation
> (http://www.pdimov.com/cpp/shared_count_x86_exp2.hpp) has a bug.
> Take a look at it please.

The site seems to be inaccessible. Are you sure that its lock()
doesn't call InterlockedCompareExchange when it sees not expired
refcount?

regards,
alexander.