[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
smtpserver busylooping
CVS copy out of May 23 eventually starts busylooping here. I tracked it
down to this point (smtpserver/smtpserver.c:1493):
Z_write(SS, ptr, len)
SmtpState * SS;
const void *ptr;
int len;
{
int i, rc = 0;
char *buf = (char *)ptr;
while (len > 0) {
i = SS->sslwrspace - SS->sslwrin; /* space */
if (i == 0) {
/* The buffer is full! Flush it */
typeflush(SS);
if (gotalarm) break;
i = SS->sslwrspace;
}
/* Copy only as much as can fit into current space */
if (i > len) i = len;
memcpy(SS->sslwrbuf + SS->sslwrin, buf, i);
SS->sslwrin += i;
buf += i;
len -= i;
rc += i;
}
/* how much written out ? */
return rc;
}
somehow SS->sslwrspace is zero on entry to this function, and len is
non-zero. At the bottom, len is decremented by zero so the "while (len>0)"
loop runs forever. Any comment?
--
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