[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
smtp client busylooping
In transports/smtp/smtp.c, around line 3666. When infd equals to -1 (dunno
why), select_sleep returns 0 (!) and errno=EBADF (naturally). Because
err is not less than zero, smtpclose()/break is not executed, the the
program drops to "goto reread_line" (line 3684), and returns to
smtp_nbread() call at line 3651. Naturally, here len=-1, errno=EBADF.
It seems that the problem is here:
transports/smtp/smtp.c:3395
if (fd > 0)
_Z_FD_SET(fd,rdmask);
else {
fd = -fd;
_Z_FD_SET(fd,wrmask);
}
select() is run on fd 1 and legitimately returns "it is possible to write
to stdout". But then, smtp_nbread() is performed on fd=-1 and fails.
Apparently the source of the problem is that smtp_sync() is called on
and SS with already closed SS->smtpfd. But then, smtp_sync() should have
been more loyal to such errors...
--
Eugene Crosser, head of Internet Applications section, +7 501 787 1000
ROL, Teleross, Golden Telecom, http://user.rol.ru/~crosser/
-
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi