On Thursday, February 9, 2006 20:39, Jakob Hirsch said:
By chance, I looked into the code tonight and found that io_loop_handle_add calls epoll_ctl sometimes with MOD on fds that were just DELeted before. This is caused by iolist_del, which always returns TRUE. I don't fully understand the code (and it looks a little overcomplicated to me, considering the epoll code I wrote myself), but the attached mini patch makes epoll work again in my setup. Don't know if this is a complete fix, though.
Timo, could you look into this and confirm/negate, please?
This patch worked in our environment too - thanks Jakob. The "io_loop_handle_add: epoll_ctl" errors went away and the IMAP proxy works as expected now.
I don't fully understand what this patch does to the epoll data structures though... Can somebody confirm that this change is safe and its not going to create any leaks or other weirdness?
Bill