is it a bug of /glibc/sysdeps/arm/atomicity.h ?
Daniel Jacobowitz
drow@mvista.com
Mon Feb 17 15:49:00 GMT 2003
On Mon, Feb 17, 2003 at 05:25:48PM +0800, Hu, Boris wrote:
> In /glibc/sysdeps/arm/atomicity.h
> let us consider the following scenario. Suppose there are three thread
> pathes.
> Init: *p = 0
> T1 compare_and_swap(p, 0, 1) ;
> T2 compare_and_swap(p,0,1);
> T3 compare_and_swap(p,1,2);
Yes, that function is not actually atomic. If you search the mailing
list archives for gcc@gcc.gnu.org you'll find several possible fixes;
no one's done any of them.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
More information about the Libc-alpha
mailing list