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