commit 9b63e6ee01c403d243745f88f6a657637ac89f3e from: Omar Polo date: Fri Oct 15 08:05:23 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 - 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)); }