rpms/foomatic/F-9 foomatic-sigpipe.patch, NONE, 1.1 foomatic.spec, 1.184, 1.185
Tim Waugh (twaugh)
fedora-extras-commits at redhat.com
Thu May 8 08:27:50 UTC 2008
Author: twaugh
Update of /cvs/pkgs/rpms/foomatic/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15036
Modified Files:
foomatic.spec
Added Files:
foomatic-sigpipe.patch
Log Message:
* Thu May 8 2008 Tim Waugh <twaugh at redhat.com>
- Avoid busy-looping when the CUPS backend stops (bug #445555).
foomatic-sigpipe.patch:
--- NEW FILE foomatic-sigpipe.patch ---
diff -up foomatic-filters-3.0-20080211/foomatic-rip.in.sigpipe foomatic-filters-3.0-20080211/foomatic-rip.in
--- foomatic-filters-3.0-20080211/foomatic-rip.in.sigpipe 2008-05-07 16:40:10.000000000 +0100
+++ foomatic-filters-3.0-20080211/foomatic-rip.in 2008-05-07 16:45:16.000000000 +0100
@@ -3599,6 +3599,7 @@ sub getrendererhandle {
close KID3;
+ $SIG{PIPE} = 'DEFAULT';
pipe KID4_IN, KID4;
KID4->autoflush(1);
$kid4 = fork();
@@ -3779,11 +3780,15 @@ sub getrendererhandle {
# When arrived here the renderer command line was successful
# So exit with zero exit value here and inform the main process
close KID_MESSAGE;
- print KID_MESSAGE_IN "3 $EXIT_PRINTED\n";
- close KID_MESSAGE_IN;
# Wait for postpipe/output child
waitpid($kid4, 0);
- print $logh "KID3 finished\n";
+ if ($? != 0) {
+ print KID_MESSAGE_IN "3 $EXIT_SIGNAL\n";
+ } else {
+ print KID_MESSAGE_IN "3 $EXIT_PRINTED\n";
+ }
+ close KID_MESSAGE_IN;
+ print $logh "KID3 finished with $?\n";
exit $EXIT_PRINTED;
} else {
$kidgeneration += 1;
@@ -4132,6 +4137,7 @@ sub getfileconverterhandle {
# converter
close KID1_IN;
+ $SIG{PIPE} = 'DEFAULT';
pipe KID2_IN, KID2;
KID2->autoflush(1);
$kid2 = fork();
@@ -4603,6 +4609,7 @@ sub getdocgeneratorhandle {
# we are the kid; we generate the documentation page
close KID0_IN;
+ $SIG{PIPE} = 'DEFAULT';
# Kill data on STDIN to satisfy PPR
if (($spooler eq 'ppr_int') || ($spooler eq 'ppr')) {
@@ -6661,6 +6668,7 @@ sub modern_system {
# will be members of this process group and so by killing this
# process group we can kill all subprocesses and so we can
# cleanly cancel print jobs
+ $SIG{PIPE} = 'DEFAULT';
eval("setpgrp()");
# Stop catching signals
#use sigtrap qw(die normal-signals error-signals
Index: foomatic.spec
===================================================================
RCS file: /cvs/pkgs/rpms/foomatic/F-9/foomatic.spec,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -r1.184 -r1.185
--- foomatic.spec 1 Apr 2008 12:20:35 -0000 1.184
+++ foomatic.spec 8 May 2008 08:27:11 -0000 1.185
@@ -44,6 +44,7 @@
Patch16: foomatic-ieee1284.patch
Patch17: foomatic-clean-up-on-cancel.patch
+Patch18: foomatic-sigpipe.patch
Url: http://www.linuxprinting.org
BuildRequires: perl >= 3:5.8.1
@@ -89,6 +90,7 @@
%patch1 -p1 -b .libdir
%patch5 -p1 -b .fontpath
%patch17 -p1 -b .clean-up-on-cancel
+%patch18 -p1 -b .sigpipe
./make_configure
popd
@@ -248,6 +250,9 @@
%{_var}/cache/foomatic
%changelog
+* Thu May 8 2008 Tim Waugh <twaugh at redhat.com>
+- Avoid busy-looping when the CUPS backend stops (bug #445555).
+
* Tue Apr 1 2008 Tim Waugh <twaugh at redhat.com> 3.0.2-59
- More foo2zjs printers removed (bug #438319).
More information about the fedora-extras-commits
mailing list