summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-11-08 08:00:47 -0800
committerIvan Kohler <ivan@freeside.biz>2017-11-08 08:00:47 -0800
commit16b95c78f5daaf10a2a0f5b946dd11f57cd77e44 (patch)
tree9db8d9faf0c8d04f7f8b18e6470347c73494b80e /FS
parent9d04e31893b6e56089ab32a007b9c2ace48dbbe6 (diff)
scalability: always reap children, RT#78270
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Misc.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm
index ed4b10321..66b3dda59 100644
--- a/FS/FS/Misc.pm
+++ b/FS/FS/Misc.pm
@@ -757,6 +757,8 @@ sub generate_ps {
my $papersize = $conf->config('papersize') || 'letter';
+ local($SIG{CHLD}) = sub {};
+
system('dvips', '-q', '-t', $papersize, "$file.dvi", '-o', "$file.ps" ) == 0
or die "dvips failed";
@@ -814,6 +816,8 @@ sub generate_pdf {
#system('dvipdf', "$file.dvi", "$file.pdf" );
my $papersize = $conf->config('papersize') || 'letter';
+ local($SIG{CHLD}) = sub {};
+
system(
"dvips -q -f $sfile.dvi -t $papersize ".
"| gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$sfile.pdf ".
@@ -896,6 +900,7 @@ sub do_print {
: $conf->config('lpr', $opt{'agentnum'} );
my $outerr = '';
+ local($SIG{CHLD}) = sub {};
run3 $lpr, $data, \$outerr, \$outerr;
if ( $? ) {
$outerr = ": $outerr" if length($outerr);
@@ -985,6 +990,8 @@ sub ocr_image {
print $fh $logo_data;
close $fh;
+ local($SIG{CHLD}) = sub {};
+
run( [qw(ocroscript recognize), $filename], '>'=>"$filename.hocr" )
or die "ocroscript recognize failed\n";