summaryrefslogtreecommitdiff
path: root/FS/FS/Misc.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-11-08 08:00:45 -0800
committerIvan Kohler <ivan@freeside.biz>2017-11-08 08:00:45 -0800
commitc5bc1149712b49edb440db3f767212df86e92136 (patch)
treef264ec464fa53b7f2f95f7806befdb0047e6ef36 /FS/FS/Misc.pm
parent2c7711326acffa72e99876b2e86962c6e285545a (diff)
scalability: always reap children, RT#78270
Diffstat (limited to 'FS/FS/Misc.pm')
-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 4d9d57b..669c44e 100644
--- a/FS/FS/Misc.pm
+++ b/FS/FS/Misc.pm
@@ -732,6 +732,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";
@@ -789,6 +791,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 ".
@@ -871,6 +875,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);
@@ -960,6 +965,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";