Commit acede36f authored by Rob Swindell's avatar Rob Swindell 💬
Browse files

Don't support yields per x lines on SMTP receive

Consume the SMTP lines as fast as possible since the sender may be on the
local network (or even local/loopback interface!) and could get way ahead and
timeout otherwise, resulting in the "premature evacuation" error (and dumping
of the received message) on the receive side. This resolves an observed issue
with sending large attachments to the mail server at very high rates and the
sending client timing and disconnecting waiting for a response from the server
(which was throttling the receive using YIELD).
parent dd121bcf
Pipeline #1180 passed with stage
in 23 minutes and 54 seconds
......@@ -4019,10 +4019,6 @@ static void smtp_thread(void* arg)
fputs("\r\n", msgtxt);
}
lines++;
/* release time-slices every x lines */
if(startup->lines_per_yield &&
!(lines%startup->lines_per_yield))
YIELD();
if((lines%100) == 0 && (msgtxt != NULL))
lprintf(LOG_DEBUG,"%04d %s %s received %lu lines (%lu bytes) of body text"
,socket, client.protocol, client_id, lines, ftell(msgtxt)-hdr_len);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment