$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-11-10 12:32:42
Peter Dimov wrote:
> bool compare_and_swap( shared_ptr & p, shared_ptr const & cmp,
> shared_ptr xchg )
> 
>    lock spinlock for p
>    bool r = p == cmp;
>    if( r ) p.swap( xchg );
>    unlock spinlock for p
>    return r;
This actually should be
    trylock spinlock for p
    if failed return false
    bool r = p == cmp;
    if( r ) p.swap( xchg );
    unlock spinlock for p
    return r;