[cpp-threads] Failed compare-and-swap
Howard Hinnant
howard.hinnant at gmail.com
Wed Aug 1 19:41:36 BST 2007
On Aug 1, 2007, at 2:01 PM, Howard Hinnant wrote:
> Lawrence recently generously sent me the following semantics for the
> compare_swap function proposed in N2324:
>
> bool atomic_compare_swap( volatile atomic_integral* a, integral*
> old_v, integral new_v)
> {
> if (a == x)
> {
> *a = new_v;
> return true;
> }
> *old_v = *a;
> return false;
> }
<arg>... copy/paste errors above:
bool atomic_compare_swap( volatile atomic_integral* a, integral*
old_v, integral new_v)
{
if (*a == *old_v)
{
*a = new_v;
return true;
}
*old_v = *a;
return false;
}
-Howard
More information about the cpp-threads
mailing list