Date: Thu, 17 Aug 2006 17:32:35 +0500 (AZST) From: "Tofig Suleymanov" <tofik@oxygen.az> To: "Baldur Gislason" <baldur@foo.is> Cc: usb@freebsd.org, Tofig Suleymanov <tofik@oxygen.az> Subject: Re: USB_ATTACH_SETUP macros question Message-ID: <35146.85.132.32.38.1155817977.squirrel@85.132.32.38> In-Reply-To: <20060817121307.GA804@gremlin.foo.is> References: <35069.85.132.32.38.1155816624.squirrel@85.132.32.38> <20060817121307.GA804@gremlin.foo.is>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Thu, Aug 17, 2006 at 05:10:02PM +0500, Tofig Suleymanov wrote:
>> Hello hackers,
>>
>> is there anybody to explain why do we have infinite loop inside of
>> USB_ATTACH_SETUP macros inside of usb_port.h ? How does his loop gets
>> escaped when we use it in some usb driver ?
>>
>> #define USB_ATTACH_SETUP \
>> do { \
>> sc->sc_dev = self; \
>> device_set_desc_copy(self, devinfo); \
>> device_printf(self, "%s\n", devinfo); \
>> } while (0);
>>
>> Thank you !
>>
>> Tofig Suleymanov
>>
> This isn't an infinite loop, in fact it will never be executed.
>
> Baldur
>
Made a little test which shows that this code is going to be executed only
once.How did i miss that :) Now the other question comes next:
Why don not we use just:
#define USB_ATTACH_SETUP \
sc->sc_dev = self; \
device_set_desc_copy(self, devinfo); \
device_printf(self, "%s\n", devinfo);
?
Thank you,
Tofig Suleymanov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35146.85.132.32.38.1155817977.squirrel>
