On Sat, Jul 24, 2004 at 07:46:24PM -0700, Paul Querna wrote: > On Mon, 2004-07-19 at 09:05 +0100, Joe Orton wrote: > > On Sun, Jul 18, 2004 at 02:41:07PM -0700, Paul Querna wrote: > > > #elif defined(HAVE_EPOLL) > > > ev.events = get_epoll_event(descriptor->reqevents); > > > + ev.data.fd = pollset->nelts; > > > > Did you use data.fd for this rather than data.u32 for a particular > > reason? Looks like the latter is a more natural choice since ->nelts is > > also a uint32 (and not an fd)? > > Attached is a slightly updated patch uses data.u32(data.fd was just a > normal int...). Also updated it to not set data.fd in the remove > function, since its not needed.
Sorry, I've been away on holiday - and now a nitpick for the kqueue changes in the patch: > if (descriptor->reqevents & APR_POLLIN) { > - EV_SET(&pollset->kevent, fd, EVFILT_READ, EV_ADD, 0, 0, NULL); > + EV_SET(&pollset->kevent, fd, EVFILT_READ, EV_ADD, 0, 0, > + (void*)pollset->nelts); this is bad practice, casting back from (void *) to int gives compiler warnings on LP64 platforms. Is there a cleaner alternative? epoll stuff looks good, I'll commit that. Thanks Paul. joe