commit c62a411f4f5c0a9b9ef6a1a474ee976bf5f711af from: Omar Polo date: Wed Oct 13 20:49:58 2021 UTC 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. 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)); }