[master] e5391c5f7 VTCP_Check() to accept ETIMEDOUT on all platforms

Nils Goroll nils.goroll at uplex.de
Mon Feb 22 19:01:07 UTC 2021


commit e5391c5f7fd1b727ee5c1358f9adf2f1a55ac0ad
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Mon Feb 22 19:50:33 2021 +0100

    VTCP_Check() to accept ETIMEDOUT on all platforms
    
    it was already accepted on Solaris and NetBSD, now we have seen it on
    Linux and I think it does not make sense to keep the exception for
    Apple.
    
    Fixes #3532 (hopefully)

diff --git a/lib/libvarnish/vtcp.c b/lib/libvarnish/vtcp.c
index 087938bef..d6e474249 100644
--- a/lib/libvarnish/vtcp.c
+++ b/lib/libvarnish/vtcp.c
@@ -600,6 +600,10 @@ VTCP_Check(ssize_t a)
 	 * described in the socket(7) manpage.) */
 	if (errno == EAGAIN || errno == EWOULDBLOCK)
 		return (1);
+	/* tcp(7): The other end didn't acknowledge retransmitted data after
+	 * some time. */
+	if (errno == ETIMEDOUT)
+		return (1);
 #if (defined (__SVR4) && defined (__sun))
 	if (errno == ECONNREFUSED)	// in r02702.vtc
 		return (1);


More information about the varnish-commit mailing list