On Wed, 2006-08-16 at 23:08 +0200, Geert Hendrickx wrote:
On Wed, Aug 16, 2006 at 10:47:08PM +0200, Geert Hendrickx wrote:
On Wed, Aug 16, 2006 at 09:09:55PM +0300, Timo Sirainen wrote:
OK, so that didn't even compile. Updated it, how about now?
It compiles cleanly on NetBSD 3.x (both with the defaults and with kqueue). I did not yet test it any further though.
When compiled with kqueue (as I did before), dovecot dies immediatly after startup:
Aug 16 23:06:02 dovecot: Dovecot v1.0.rc6 starting up Aug 16 23:06:03 dovecot: Unrecognized event: kevent {.ident = 16, .filter = 0x0000, .flags = 0x0001, .fflags = 0x00000000, .data = 0x00000038}, io filter = 0
Hmm.. Wonder if this is a valid event actually. Maybe the whole call should be removed, since it's possible that this happens if an I/O handler calls io_remove() for a fd that's already in the returned events list. I couldn't reproduce this doing the same with epoll code though.
So.. What if you just comment out the i_panic() call in the end of ioloop-kqueue.c, does it work then?