Re: 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test

From: Tonnerre
Date: Mon Sep 13 2004 - 15:11:22 EST


Salut,

On Mon, Sep 13, 2004 at 06:03:28PM +0200, Roman Zippel wrote:
> +#define atomic_add_and_test(i,v) (atomic_add_return((i), (v)) == 0)
> +#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)

This is no longer atomic, is it? I mean, there's no guarantee that the
atomic_add_return and the comparison are executed without
interruption, is there?

I wonder whether it's supposed to be..

> #define atomic_sub(i, v) atomic_sub_return(i, v)

Maybe for some compilers we should cast away the result?

Tonnerre

Attachment: signature.asc
Description: Digital signature