- Avoid busy loop in hpcups when backend has exited (bug #525944).
This commit is contained in:
parent
70df7a97a5
commit
2bba0f0772
29
hplip-hpcups-sigpipe.patch
Normal file
29
hplip-hpcups-sigpipe.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff -up hplip-3.9.8/prnt/hpijs/services.cpp.hpcups-sigpipe hplip-3.9.8/prnt/hpijs/services.cpp
|
||||
--- hplip-3.9.8/prnt/hpijs/services.cpp.hpcups-sigpipe 2009-08-04 22:35:41.000000000 +0100
|
||||
+++ hplip-3.9.8/prnt/hpijs/services.cpp 2009-10-29 11:56:23.015022337 +0000
|
||||
@@ -29,6 +29,7 @@
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
\*****************************************************************************/
|
||||
|
||||
+#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -382,8 +383,16 @@ DRIVER_ERROR UXServices::ToDevice(const
|
||||
if (write(OutputPath, pBuffer, *Count) != (ssize_t)*Count)
|
||||
{
|
||||
static int cnt=0;
|
||||
- if (cnt++ < 5)
|
||||
+ if (cnt < 5)
|
||||
+ {
|
||||
+ cnt++;
|
||||
BUG("unable to write to output, fd=%d, count=%d: %m\n", OutputPath, *Count);
|
||||
+ }
|
||||
+
|
||||
+ if (errno == EPIPE)
|
||||
+ /* The backend has exited. There's no recovering from that. */
|
||||
+ exit (1);
|
||||
+
|
||||
return IO_ERROR;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: HP Linux Imaging and Printing Project
|
||||
Name: hplip
|
||||
Version: 3.9.8
|
||||
Release: 18%{?dist}
|
||||
Release: 19%{?dist}
|
||||
License: GPLv2+ and MIT
|
||||
Group: System Environment/Daemons
|
||||
Conflicts: system-config-printer < 0.6.132
|
||||
@ -25,6 +25,7 @@ Patch9: hplip-requirespageregion.patch
|
||||
Patch10: hplip-discovery-method.patch
|
||||
Patch11: hplip-device-reconnected.patch
|
||||
Patch12: hplip-plugin-error.patch
|
||||
Patch13: hplip-hpcups-sigpipe.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
Requires(pre): /sbin/service
|
||||
@ -151,6 +152,9 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version}
|
||||
# (bug #531330).
|
||||
%patch12 -p1 -b .plugin-error
|
||||
|
||||
# Avoid busy loop in hpcups when backend has exited (bug #525944).
|
||||
%patch13 -p1 -b .hpcups-sigpipe
|
||||
|
||||
%build
|
||||
aclocal
|
||||
automake --foreign --add-missing --copy
|
||||
@ -354,6 +358,9 @@ fi
|
||||
/usr/bin/update-desktop-database &>/dev/null ||:
|
||||
|
||||
%changelog
|
||||
* Thu Oct 29 2009 Tim Waugh <twaugh@redhat.com> 3.9.8-19
|
||||
- Avoid busy loop in hpcups when backend has exited (bug #525944).
|
||||
|
||||
* Wed Oct 28 2009 Tim Waugh <twaugh@redhat.com> 3.9.8-18
|
||||
- Set a printer-state-reason when there's a missing required plugin
|
||||
(bug #531330).
|
||||
|
Loading…
Reference in New Issue
Block a user