Messages in this thread | | | Date | Tue, 11 Mar 2008 12:11:07 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/5] lib: introduce call_once() |
| |
On Tue, 11 Mar 2008 11:56:55 -0700 Joe Perches <joe@perches.com> wrote:
> On Tue, 2008-03-11 at 10:35 -0700, Andrew Morton wrote: > > #define ONCE() \ > > ({ \ > > static long flag; \ > > \ > > return !test_and_set_bit(0, flag); \ > > }) > > test_and_set_bit takes an address
duh.
> Perhaps: > > #define DO_ONCE(x) \ > ({ static long flag; if (test_and_set_bit(0, &flag)) x; 1; }) > > DO_ONCE(foo);
No, that's completely unnecessary and would produce nasty-looking code. Take a look at some of the wait_event monstrosities we have.
I'm not sure that we need any of this once() stuff really.
| |