Re: [take6 1/3] kevent: Core files.
From: Evgeniy Polyakov <hidden>
Date: 2006-08-10 06:49:00
Also in:
lkml
From: Evgeniy Polyakov <hidden>
Date: 2006-08-10 06:49:00
Also in:
lkml
On Wed, Aug 09, 2006 at 11:42:35PM -0700, David Miller (davem@davemloft.net) wrote:
quoted
quoted
quoted
+ k->kevent_entry.next = LIST_POISON1; + k->storage_entry.prev = LIST_POISON2; + k->ready_entry.next = LIST_POISON1;Nope ;)I use pointer checks to determine if entry is in the list or not, why it is frowned upon here?As Andrew mentioned in another posting, these poison macros are likely to simply go away some day, so you should not use them.
They exist for ages and sudently can go away?..
If you want pointer encoded tags you use internally, define your own.
I think if I will add code like this list_del(&k->entry); k->entry.prev = KEVENT_POISON1; k->entry.next = KEVENT_POISON2; I will be suggested to make myself a lobotomy. I have enough space in flags in each kevent, so I will use some bits there. -- Evgeniy Polyakov