Commit Diff


commit - 05ece21bd741f9853b75003ecbffe09b8a63640a
commit + 9b63e6ee01c403d243745f88f6a657637ac89f3e
blob - ddf003a69ee4f33c67e01ffa732c84233e7823bc
blob + 8ff8587209998794ac81d36ba3fc1497983a36cb
--- server.c
+++ server.c
@@ -1157,7 +1157,8 @@ do_accept(int sock, short et, void *d)
 	saddr = (struct sockaddr*)&addr;
 	len = sizeof(addr);
 	if ((fd = accept(sock, saddr, &len)) == -1) {
-		if (errno == EWOULDBLOCK || errno == EAGAIN)
+		if (errno == EWOULDBLOCK || errno == EAGAIN ||
+		    errno == ECONNABORTED)
 			return;
 		fatal("accept: %s", strerror(errno));
 	}