Commit Diff


commit - 8af884dff41841074cadb91516c86c9ef954fe26
commit + c62a411f4f5c0a9b9ef6a1a474ee976bf5f711af
blob - 2ad472c3c7e621e7ef25ebff50fcbca79d5df5c1
blob + cac53ee49791e7800bf3f8cb78880a02f47d81a0
--- server.c
+++ server.c
@@ -1284,7 +1284,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));
 	}