14 Oct
2010
14 Oct
'10
6:45 p.m.
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. */