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