[Dovecot] RE: epoll error when running as proxy

Bill Boebel bill at webmail.us
Fri Feb 10 01:55:56 EET 2006


Interesting.  The error is occurring during an EPOLL_CTL_MOD operation
within the io_loop_handle_add() function.  So I am not positive that what
you point out is in fact the problem.  If it was occurring within the
io_loop_handle_remove() function then what you point out might be the
case, but thats not where its happening.  Unless maybe it is referencing
the wrong file descriptor in it's io_list because of a previous file
descriptor getting closed unexpectedly.  Hmm...

I am surprised nobody else has mentioned this error on the list before. 
It seems like it would be rather common.

Bill



On Thursday, February 9, 2006 17:56, Václav Haisman said:
>
>
> Bill Boebel wrote:
> >>> imap-login: io_loop_handle_add: epoll_ctl(op=3, fd=10, ret=-1,
>>>> errno=2):
> >>> No such file or directory
> >>>
> >> Could it be that similarly to kqueue on *BSD the Linux kernel
> >> unregisters/removes the handle automatically when it gets closed? And
> >> that dovecot closes it before unregistering it from epoll?
> >>
> >
> > I don't know enough about epoll to answer that.  I do see that in
> > src/lib/ioloop-epoll.c, the "io_loop_handler_init()" function calls
>> this,
> > which sounds related.:
> >
> >        fd_close_on_exec(ctx->epfd, TRUE);
> >
> > But again, I am not very familiar with the specifics of epoll.  Maybe
> > somebody else on this list knows?
> This means the fd will be closed on exec() but I mean the case where the
> fd is closed by hand without exec().
>
> And to answer my own question (question/answer 6):
> http://www.die.net/doc/linux/man/man4/epoll.4.html
>
> I think it might be the cause of the error message.
>
> >
> > Thanks,
> > Bill
>
> VH
>
>




More information about the dovecot mailing list