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
On Wed, 5 Jan 2005 19:31:44 +0530
"Kotian, Deepak" <[email protected]> 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)
On Wed, 2005-01-05 at 19:31 +0530, Kotian, Deepak 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; }
http://kernelnewbies.org/faq/index.php3#dowhile
Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services