summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey D2015-03-23 07:56:36 +0300
committerAlexey D2015-06-11 10:07:11 +0300
commitf39e8b578109571db9a00af33e3535fc24604468 (patch)
treec6373223a31784a62256d358783b70f0166e5e85
parent775dbe90cbdfab47f192e9ad8cbe5b57f35cd73f (diff)
downloadaur-f39e8b578109571db9a00af33e3535fc24604468.tar.gz
version 2.0.2-2
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD10
-rw-r--r--cups-busy-loop.patch35
3 files changed, 46 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9e545a3aee9..7a6b75defdd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = cups-nosystemd
pkgdesc = The CUPS Printing System - daemon package
pkgver = 2.0.2
- pkgrel = 1
+ pkgrel = 2
url = http://www.cups.org/
install = cups-nosystemd.install
arch = i686
@@ -52,6 +52,7 @@ pkgbase = cups-nosystemd
source = cups-no-gzip-man.patch
source = cups-1.6.0-fix-install-perms.patch
source = cups-1.6.2-statedir.patch
+ source = cups-busy-loop.patch
md5sums = 6e0ea72dbafcf5baaa1cf4178e71096d
md5sums = 9657daa21760bb0b5fa3d8b51d5e01a1
md5sums = fc8286f185e2cc5f7e1f6843bf193e2b
@@ -61,6 +62,7 @@ pkgbase = cups-nosystemd
md5sums = 90c30380d4c8cd48a908cfdadae1ea24
md5sums = 5117f65342fcc69c6a506529e4daca9e
md5sums = 451609db34f95209d64c38474de27ce1
+ md5sums = 68c70bda07ccb8caaa7a2df485a16092
pkgname = cups-nosystemd
diff --git a/PKGBUILD b/PKGBUILD
index 6c88b3e538c..3497242e2d6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname="cups-nosystemd"
pkgver=2.0.2
-pkgrel=1
+pkgrel=2
pkgdesc="The CUPS Printing System - daemon package"
arch=('i686' 'x86_64')
license=('GPL')
@@ -37,6 +37,8 @@ source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-no-gzip-man.patch
cups-1.6.0-fix-install-perms.patch
cups-1.6.2-statedir.patch
+ # bugfix
+ cups-busy-loop.patch
)
md5sums=('6e0ea72dbafcf5baaa1cf4178e71096d'
'9657daa21760bb0b5fa3d8b51d5e01a1'
@@ -46,7 +48,8 @@ md5sums=('6e0ea72dbafcf5baaa1cf4178e71096d'
'1beb4896f217bc241bc08a422274ec0c'
'90c30380d4c8cd48a908cfdadae1ea24'
'5117f65342fcc69c6a506529e4daca9e'
- '451609db34f95209d64c38474de27ce1')
+ '451609db34f95209d64c38474de27ce1'
+ '68c70bda07ccb8caaa7a2df485a16092')
prepare() {
cd cups-${pkgver}
@@ -66,6 +69,9 @@ prepare() {
# fix permissions on some files (by Gentoo)
patch -Np0 -i "$srcdir"/cups-1.6.0-fix-install-perms.patch
+ # Avoid busy loop in cupsd when connection is closed after request Fedora ##1179596 - may solve FS#42666
+ patch -Np1 -i "${srcdir}"/cups-busy-loop.patch
+
# set MaxLogSize to 0 to prevent using cups internal log rotation
sed -i -e '5i\ ' conf/cupsd.conf.in
sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in
diff --git a/cups-busy-loop.patch b/cups-busy-loop.patch
new file mode 100644
index 00000000000..4483aa8cad6
--- /dev/null
+++ b/cups-busy-loop.patch
@@ -0,0 +1,35 @@
+diff -up cups-2.0.2/scheduler/client.c.busy-loop cups-2.0.2/scheduler/client.c
+--- cups-2.0.2/scheduler/client.c.busy-loop 2014-08-28 16:37:22.000000000 +0100
++++ cups-2.0.2/scheduler/client.c 2015-03-16 17:24:32.506232983 +0000
+@@ -585,6 +585,17 @@ cupsdReadClient(cupsd_client_t *con) /*
+ * connection and we need to shut it down...
+ */
+
++ if (!httpGetReady(con->http) && recv(httpGetFd(con->http), buf, 1, MSG_PEEK) < 1)
++ {
++ /*
++ * Connection closed...
++ */
++
++ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on EOF.");
++ cupsdCloseClient(con);
++ return;
++ }
++
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on unexpected HTTP read state %s.",
+ httpStateString(httpGetState(con->http)));
+ cupsdCloseClient(con);
+@@ -1979,12 +1990,6 @@ cupsdReadClient(cupsd_client_t *con) /*
+
+ if (httpGetState(con->http) == HTTP_STATE_POST_SEND)
+ {
+- /*
+- * Don't listen for activity until we decide to do something with this...
+- */
+-
+- cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con);
+-
+ if (con->file >= 0)
+ {
+ fstat(con->file, &filestats);
+