[Dovecot] Dovecot 2.0.5 and BSDI 4.3 again

Timo Sirainen tss at iki.fi
Thu Oct 14 18:45:00 EEST 2010


On Sun, 2010-10-10 at 17:02 -0600, The Doctor wrote:

> Oct 10 16:30:45 doctor dovecot: log: Error: net_accept() failed: Invalid argument

So my check below doesn't work. Add here:

if (errno != EINVAL)
  i_error("errno = %d %m");
else if (fstat(l->fd, &st) < 0)
  i_error("fstat() failed: %m");
else
  i_error("mode=%o & fifo = %d", st.st_mode, S_ISFIFO(st.st_mode));
fd_debug_verify_leaks(l->fd, l->fd); // should show what it is if it's not a fifo..


>                 if (errno == ENOTSOCK) {
>                         /* it's not a socket. should be a fifo. */
>                 } else if (errno == EINVAL &&
>                            (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) {
>                         /* BSDI fails accept(fifo) with EINVAL. */




More information about the dovecot mailing list