hplip/hplip-hpcups-sigpipe.patch
Petr Šabata 3b7ae335f3 RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/hplip#7cb6f648cdb35a0f018b511d10b516d6d9e4d638
2020-10-15 12:26:13 +02:00

30 lines
938 B
Diff

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;
}