Re: Purpose of do{}while(0) in #define spin_lock_init(x) do {(x)->lock = 0; } while(0)

From: Paolo Ornati
Date: Wed Jan 05 2005 - 09:12:47 EST


On Wed, 5 Jan 2005 19:31:44 +0530
"Kotian, Deepak" <Deepak.Kotian@xxxxxxxxx> wrote:

> Is there any specific reason why do{}while(0) is
> there in this definition
> #define spin_lock_init(x) do { (x)->lock = 0; } while(0)
>
> What could happen if it is replaced by
> #define spin_lock_init(x) { (x)->lock = 0; }
>
> There are couple of other places, where this kind of usage
> is observed in the kernel code.

look at http://www.kernelnewbies.org/faq/

--
Paolo Ornati
Gentoo Linux (kernel 2.6.10-cko2)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/