Hi again Johannes,
On 22/08/2005 7:04 p.m., Johannes Berg wrote:
Maybe something like (this is not a patch you can apply, look at line 164 in src/lib/ioloop-notify-inotify.c)
ctx->inotify_fd = inotify_init();
- i_warning("inotify_init returned fd %d", ctx->inotify_fd); if (ctx->inotify_fd == -1) {
and line 106: IN_CLOSE | IN_MODIFY);
- i_warning("inotify_add_watch returned %d", watchdescriptor); if (watchdescriptor < 0) { and line 145: }
- inotify_rm_watch("removing wd %d from inotify fd %d", io->notify_context, ctx->inotify_fd); if (inotify_rm_watch(ctx->inotify_fd, io->notify_context) < 0)
Or something similar.
If that doesn't help and output looks consistent (we're not removing a watch descriptor from a wrong fd etc.), can you try removing the fd_close_on_exec call please (line 171)? I don't know if that could cause trouble (I don't even think that the imap binary ever forks) but you never know.
Output from 3/4 hrs of logging is up at http://www.reub.net/dovecot/. It's 100k, I figure probably a bit big to post to the list.
I'll try removing the fd_close_on_exec call now see what happens, and put the output of that up there too in about 10 mins.
Reuben