From acede36f01fcda7c4384c77614a19c42a560053e Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Fri, 22 Jan 2021 18:26:07 -0800 Subject: [PATCH] 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). --- src/sbbs3/mailsrvr.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 52ec93bee6..53ebdaad25 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -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); -- GitLab