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

From: Kotian, Deepak
Date: Wed Jan 05 2005 - 09:04:22 EST



Just for information, may be very simple.

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.

Thanks and Regards
Deepak



-
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/