mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0)
@ 2005-01-05 14:01 Kotian, Deepak
  2005-01-05 14:14 ` Paolo Ornati
  2005-01-05 14:15 ` Bernd Petrovitsch
  0 siblings, 2 replies; 3+ messages in thread
From: Kotian, Deepak @ 2005-01-05 14:01 UTC (permalink / raw)
  To: linux-kernel


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




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0)
  2005-01-05 14:01 Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0) Kotian, Deepak
@ 2005-01-05 14:14 ` Paolo Ornati
  2005-01-05 14:15 ` Bernd Petrovitsch
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Ornati @ 2005-01-05 14:14 UTC (permalink / raw)
  To: Kotian, Deepak; +Cc: linux-kernel

On Wed, 5 Jan 2005 19:31:44 +0530
"Kotian, Deepak" <Deepak.Kotian@patni.com> 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)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0)
  2005-01-05 14:01 Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0) Kotian, Deepak
  2005-01-05 14:14 ` Paolo Ornati
@ 2005-01-05 14:15 ` Bernd Petrovitsch
  1 sibling, 0 replies; 3+ messages in thread
From: Bernd Petrovitsch @ 2005-01-05 14:15 UTC (permalink / raw)
  To: Kotian, Deepak; +Cc: linux-kernel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-01-05 14:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-05 14:01 Purpose of do{}while(0) in #define spin_lock_init(x) do { (x)->lock = 0; } while(0) Kotian, Deepak
2005-01-05 14:14 ` Paolo Ornati
2005-01-05 14:15 ` Bernd Petrovitsch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®