Re: [take12 0/3] kevent: Generic event handling mechanism.
From: Evgeniy Polyakov <hidden>
Date: 2006-08-23 13:12:47
Also in:
lkml
On Wed, Aug 23, 2006 at 02:55:47PM +0200, Jari Sundell (sundell.software@gmail.com) wrote:
On 8/23/06, Evgeniy Polyakov [off-list ref] wrote:quoted
We still do not know what uintptr_t is, and it looks like it is a pointer, which is forbidden. Those numbers are not enough to make network AIO. And actually is not compatible with kqueue already, so you will need to write your own parser to convert your parameters into above structure.7.18.1.4 Integertypes capable of holding object pointers "1 The following type designates a signed integer type with the property that any valid pointer to void can be converted to this type, then converted back to pointer to void, and the result will compare equal to the original pointer:" Dunno if this means that x86-64 needs yet another typedef, or if using long for intptr_t is incorrect. But assuming a different integer type was used instead of intptr_t, that is known to be able to hold a pointer, would there still be any problems?
stdint.h /* Types for `void *' pointers. */ #if __WORDSIZE == 64 # ifndef __intptr_t_defined typedef long int intptr_t; # define __intptr_t_defined # endif typedef unsigned long int uintptr_t; #else # ifndef __intptr_t_defined typedef int intptr_t; # define __intptr_t_defined # endif typedef unsigned int uintptr_t; #endif which means that with 32bit userspace it will be equal to 32bit only.
I'm unable to see anything specific about AIO in your kevent patch that these modifications wouldn't support.
I was asked to postpone AIO stuff for now, you can find it in previous patchsets sent about week or two ago.
Rakshasa
-- Evgeniy Polyakov