This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Question on GCC 4.8 atomics
- From: Andrew Haley <aph at redhat dot com>
- To: Bjorn Lindgren <nr at c64 dot org>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Fri, 05 Apr 2013 12:59:09 +0100
- Subject: Re: Question on GCC 4.8 atomics
- References: <Pine dot LNX dot 4 dot 62 dot 1304051331100 dot 2044 at localhost dot localdomain>
On 04/05/2013 12:39 PM, Bjorn Lindgren wrote:
> I would like to know if the built-in __atomic_* function calls are always
> garanteed to succeed? If for example multiple threads on different
> sockets/cores call the __atomic function on a globaly shared variable at
> same time, are the calls then queued and executed?
I can't tell exactly what this question means. I think you're asking if,
for example, an atomic_fetch-and-modify might fail to modify its target.
The answer is no: while the cmpxchg fails it will retry.
Andrew.