|
From: | Marin Ramesa |
Subject: | Re: [RFC] kern: simple futex for gnumach (version 11) |
Date: | Thu, 09 Jan 2014 21:51:51 +0100 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |