lkml.org 
[lkml]   [2002]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rfc] epoll interface change and glibc bits ...
On Wed, Nov 20, 2002 at 03:57:26PM -0800, Davide Libenzi wrote:
> > What were you thinking? 1X64 bit or 2X32 bit?
> typedef union epoll_obj {
> void *ptr;
> __uint32_t u32[2];
> __uint64_t u64;
> } epoll_obj_t;
> I'm open to suggestions though. The "ptr" enable me to avoid wierd casts
> to avoid gcc screaming.

It looks fine to me for as long as we can guarantee that sizeof(void *)
will be less than or equal to sizeof(__uint64_t) (relatively safe).

I still prefer 'userdata' over 'obj', but the name of thing is not very
important to me.

I'm not sure if this is wise or not, but an 'fd' member might be
useful as well:

typedef union epoll_obj {
void *ptr;
int fd;
__uint32_t u32[2];
__uint64_t u64;
} epoll_obj_t;

For applications that wish to store fd's (probably common due to
poll() roots), this would help them avoid casting magic as well. Also,
it allows for 64 bit file descriptors if that ever became necessary.

Since userspace applications are almost guaranteed to need to do casting
or union copying, using the union sounds like a good idea.

mark

--
mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________
. . _ ._ . . .__ . . ._. .__ . . . .__ | Neighbourhood Coder
|\/| |_| |_| |/ |_ |\/| | |_ | |/ |_ |
| | | | | \ | \ |__ . | | .|. |__ |__ | \ |__ | Ottawa, Ontario, Canada

One ring to rule them all, one ring to find them, one ring to bring them all
and in the darkness bind them...

http://mark.mielke.cc/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.087 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site