rpms/foomatic/F-8 foomatic-sigpipe.patch, NONE, 1.1 foomatic.spec, 1.173, 1.174

Tim Waugh (twaugh) fedora-extras-commits at redhat.com
Thu May 8 08:30:22 UTC 2008


Author: twaugh

Update of /cvs/pkgs/rpms/foomatic/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15168

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-8/foomatic.spec,v
retrieving revision 1.173
retrieving revision 1.174
diff -u -r1.173 -r1.174
--- foomatic.spec	1 Apr 2008 12:26:24 -0000	1.173
+++ foomatic.spec	8 May 2008 08:29:39 -0000	1.174
@@ -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