[Dovecot] Changes made to imap descriptor handling in test78?
Dominic Marks
dom at goodforbusiness.co.uk
Thu Jul 14 15:32:17 EEST 2005
Hello,
What has changed from test77 to test78 in the way imap manages
its descriptors? I upgraded to test78 this morning on a small
site which I use as a testbed for testing various things.
Running the same copy of my kqueue patch with test77 works
quite well [*], with test78 imap has some problems. Here is
some debugging output I recorded:
Jul 14 12:55:27 egg dovecot: imap-login: Login: user=<dom>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, SSL
Jul 14 12:55:30 egg dovecot: IMAP(dom): kqueue was given an unknown descriptor 1, -1: No such file or directory
The second line points refers to io_loop_handler_remove, the
tcp/ip socket (1) is having the read filter (-1) removed,
suspending events from the socket, or at least, that is
what should be happening.
From kevent(2) for ENOENT:
[ENOENT] The event could not be found to be modified or deleted.
This suggests to me that we are incorrectly calling
io_loop_handler_remove before we should. This error
happens immediately after a client opens their mailbox.
I have checked pop3 and it does not share the problem. I'm
going to have a look at the CVS mail archive to see if I
can work out what has changed.
[*] Occasionally I was receiving ENOENT in test77 also in
io_loop_handler_remove, but only occasionally, perhaps a few
times a day for each client. This also didn't occur when
opening the mailbox, but some time later. I'm still looking
for the trigger for that.
Cheers,
--
Dominic Marks
More information about the dovecot
mailing list