On 01/09/2014 05:52:21 PM, Richard Braun wrote:
On Thu, Jan 09, 2014 at 05:06:09PM +0100, Marin Ramesa wrote:
> Shouldn't the compare be atomic. Maybe I don't understand what
> atomic really
> means but the GCC manual says this function is. Or is it enough to
> hold the lock.

From the GCC manual :
"These built-in functions perform an atomic compare and swap. That is,
if the current value of *ptr is oldval, then write newval into *ptr".
So tell us what the point of replacing oldval with itself is.

I do a swap so it returns true if they are equal.

In addition, use __sync_val_compare_and_swap please.

Don't you think it's better this way. The function already
returns a boolean. What would I do with the contents of *ptr
before the operation. It doesn't tell me if the swap was
successful. I would need to introduce a new variable.

Reply via email to