From c62a411f4f5c0a9b9ef6a1a474ee976bf5f711af Mon Sep 17 00:00:00 2001 From: Omar Polo Date: Wed, 13 Oct 2021 20:49:58 +0000 Subject: [PATCH] don't die on ECONNABORTED ECONNABORTED is returned if a connections gets aborted after being queued before the accept(2). I had some cases of accept: Software caused connection abort on FreeBSD, this should avoid that. --- server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server.c b/server.c index 2ad472c..cac53ee 100644 --- a/server.c +++ b/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)); }