[6.0] 83d4ae010 VTCP_Check() to accept ETIMEDOUT on all platforms

Reza Naghibi reza at naghibi.com
Wed Apr 28 18:19:07 UTC 2021


commit 83d4ae0106928f971a58fb1c32be4c2ad3b1d2e4
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)
    
     Conflicts:
            lib/libvarnish/vtcp.c

diff --git a/lib/libvarnish/vtcp.c b/lib/libvarnish/vtcp.c
index d1796586f..11e6c05ae 100644
--- a/lib/libvarnish/vtcp.c
+++ b/lib/libvarnish/vtcp.c
@@ -572,6 +572,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)) || defined (__NetBSD__)
 	/*
 	 * Solaris returns EINVAL if the other end unexpectedly reset the


More information about the varnish-commit mailing list