TFO: avoid needless calls in transport-detection
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 13 Nov 2021 16:12:09 +0000 (16:12 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 13 Nov 2021 16:12:09 +0000 (16:12 +0000)
src/src/smtp_out.c

index 46713d4b741dd8e664bcaa8f96cc07f074e4bcf1..9547c4b81667d7a0221d5ac1c48d10a4d5028acc 100644 (file)
@@ -150,9 +150,16 @@ return TRUE;
 
 
 #ifdef TCP_FASTOPEN
+/* Try to record if TFO was attmepted and if it was successfully used.  */
+
 static void
 tfo_out_check(int sock)
 {
+static BOOL done_once = FALSE;
+
+if (done_once) return;
+done_once = TRUE;
+
 # ifdef __FreeBSD__
 struct tcp_info tinfo;
 socklen_t len = sizeof(tinfo);
@@ -856,7 +863,7 @@ for (;;)
   }
 
 #ifdef TCP_FASTOPEN
-  tfo_out_check(sx->cctx.sock);
+tfo_out_check(sx->cctx.sock);
 #endif
 
 /* Return a value that depends on the SMTP return code. On some systems a