On Thu, Aug 12, 2004 at 10:44:29AM +0100, Joe Orton wrote: > warnings on LP64 platforms. Is there a cleaner alternative? epoll > stuff looks good, I'll commit that.
Actually there's a problem: this change breaks apr_pollset_remove(); when the query_set array is shuffled up after removing a descriptor, any epoll descriptors may still reference the old indexes into query_set from data.u32. The testpoll.c change to pollset_remove actually hides this: if you get it to print ->client_data of each returned event it shows the problem: $ ./testall testpoll testpoll : |got event with data 0x1 -got event with data 0x4 <- !!! should be 0x3 /got event with data 0x4 SUCCESS The best fix for this would probably be to have apr_pollset_destroy leave holes in the query_set array which apr_pollset_add will fill in, I think? joe