diff -ruN sendmail-8.9.3.orig/src/daemon.c sendmail-8.9.3/src/daemon.c --- sendmail-8.9.3.orig/src/daemon.c Tue Jan 26 05:00:16 1999 +++ sendmail-8.9.3/src/daemon.c Fri Sep 24 15:43:38 1999 @@ -357,8 +357,23 @@ control = TRUE; } #endif - if (t >= 0 || errno != EINTR) + if (t >= 0) break; + /* + * Linux and some SVr4 flavors can return + * multiple non-fatal errors beside EINTR + * from accept(). + */ + switch (errno) { + case EINTR: + case ETIMEDOUT: + case EHOSTUNREACH: + case ENETUNREACH: + case ECONNRESET: + t = 0; + break; + } + if (t < 0) break; } if (timedout) {