From: Miroslav Lichvar Date: Mon, 27 Jul 2020 10:57:44 +0000 (+0200) Subject: nts: scale server listening backlog with number of helpers X-Git-Tag: 4.0-pre3~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=def137bc80f037280c0aa9fb9e635bb32ccd378c;p=thirdparty%2Fchrony.git nts: scale server listening backlog with number of helpers --- diff --git a/nts_ke_server.c b/nts_ke_server.c index 67500f41..41c0606d 100644 --- a/nts_ke_server.c +++ b/nts_ke_server.c @@ -277,8 +277,8 @@ static int open_socket(int family) { IPSockAddr local_addr; + int backlog, sock_fd; char *iface; - int sock_fd; if (!SCK_IsIpFamilyEnabled(family)) return INVALID_SOCK_FD; @@ -293,7 +293,11 @@ open_socket(int family) return INVALID_SOCK_FD; } - if (!SCK_ListenOnSocket(sock_fd, CNF_GetNtsServerConnections())) { + /* Set the maximum number of waiting connections on the socket to the maximum + number of concurrent sessions */ + backlog = MAX(CNF_GetNtsServerProcesses(), 1) * CNF_GetNtsServerConnections(); + + if (!SCK_ListenOnSocket(sock_fd, backlog)) { SCK_CloseSocket(sock_fd); return INVALID_SOCK_FD; }