diff --git a/CHANGES b/CHANGES index 2489b4c7bc..a3331983b6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +3581. [bug] Changed the tcp-listen-queue default to 10. [RT #33029] + 3580. [bug] Addressed a possible race in acache.c [RT #33602] 3579. [maint] Updates to PKCS#11 openssl patches, supporting diff --git a/bin/named/config.c b/bin/named/config.c index fa349eeade..fd136b1816 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -98,7 +98,7 @@ options {\n\ statistics-file \"named.stats\";\n\ statistics-interval 60;\n\ tcp-clients 100;\n\ - tcp-listen-queue 3;\n\ + tcp-listen-queue 10;\n\ # tkey-dhkey \n\ # tkey-gssapi-credential \n\ # tkey-domain \n\ diff --git a/bin/named/server.c b/bin/named/server.c index e3365df692..5a090701ec 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -4818,8 +4818,8 @@ load_configuration(const char *filename, ns_server_t *server, result = ns_config_get(maps, "tcp-listen-queue", &obj); INSIST(result == ISC_R_SUCCESS); ns_g_listen = cfg_obj_asuint32(obj); - if (ns_g_listen < 3) - ns_g_listen = 3; + if ((ns_g_listen > 0) && (ns_g_listen < 10)) + ns_g_listen = 10; /* * Configure the interface manager according to the "listen-on" diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 8625554615..47e0067c67 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -8396,14 +8396,15 @@ avoid-v6-udp-ports { 40000; range 50000 60000; }; tcp-listen-queue - The listen queue depth. The default and minimum is 3. + The listen queue depth. The default and minimum is 10. If the kernel supports the accept filter "dataready" this also controls how many TCP connections that will be queued in kernel space waiting for - some data before being passed to accept. Values less than 3 - will be - silently raised. + some data before being passed to accept. Nonzero values + less than 10 will be silently raised. A value of 0 may also + be used; on most platforms this sets the listen queue + length to a system-defined default value.