diff --git a/0001-cups-http-addr.c-Set-listen-backlog-size-to-INT_MAX-.patch b/0001-cups-http-addr.c-Set-listen-backlog-size-to-INT_MAX-.patch new file mode 100644 index 0000000..d30c243 --- /dev/null +++ b/0001-cups-http-addr.c-Set-listen-backlog-size-to-INT_MAX-.patch @@ -0,0 +1,35 @@ +From 876fdc1c90a885a58644c8757bc1283c9fd5bcb7 Mon Sep 17 00:00:00 2001 +From: Vasilis Liaskovitis +Date: Wed, 1 Mar 2023 13:46:28 +0100 +Subject: [PATCH] cups/http-addr.c: Set listen backlog size to INT_MAX (fixes + #308) + +Use a listen queue size of INT_MAX, which should default to the maximum +supported queue size on the system. + +This avoids the problem of the listening backlog queue getting full when +there are too many requests at the same time. The problem was observed +with the previous backlog size (128) by customers when submitting large +batches of print jobs, resulting in some jobs getting lost. + +Signed-off-by: Vasilis Liaskovitis +--- + cups/http-addr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cups/http-addr.c b/cups/http-addr.c +index a61ee0449..6aeeb8074 100644 +--- a/cups/http-addr.c ++++ b/cups/http-addr.c +@@ -249,7 +249,7 @@ httpAddrListen(http_addr_t *addr, /* I - Address to bind to */ + * Listen... + */ + +- if (listen(fd, 5)) ++ if (listen(fd, INT_MAX)) + { + _cupsSetHTTPError(HTTP_STATUS_ERROR); + +-- +2.41.0 + diff --git a/cups.spec b/cups.spec index 4ac2f65..9843f64 100644 --- a/cups.spec +++ b/cups.spec @@ -147,6 +147,8 @@ Patch79: cups-kerberos.patch Patch80: 0001-Fix-delays-printing-to-lpd-when-reserved-ports-are-e.patch # 2217283 - The command "cancel -x " does not remove job files Patch81: 0001-Use-purge-job-instead-of-purge-jobs-when-canceling-a.patch +# 2217955 - Enlarge backlog queue for listen() in cupsd +Patch82: 0001-cups-http-addr.c-Set-listen-backlog-size-to-INT_MAX-.patch Patch1000: cups-lspp.patch @@ -437,6 +439,8 @@ Sends IPP requests to the specified URI and tests and/or displays the results. %patch80 -p1 -b .lpd-delay # 2217283 - The command "cancel -x " does not remove job files %patch81 -p1 -b .purge-job +# 2217955 - Enlarge backlog queue for listen() in cupsd +%patch82 -p1 -b .listen-backlog sed -i -e '1iMaxLogSize 0' conf/cupsd.conf.in @@ -859,6 +863,7 @@ rm -f %{cups_serverbin}/backend/smb * Thu Jun 29 2023 Zdenek Dohnal - 1:2.2.6-52 - 2217178 - Delays printing to lpd when reserved ports are exhausted - 2217283 - The command "cancel -x " does not remove job files +- 2217955 - Enlarge backlog queue for listen() in cupsd * Mon Apr 03 2023 Zdenek Dohnal - 1:2.2.6-51 - RHEL-316 - Enable fmf tests in centos stream