* Add proper waitpid calls for open2ed processes throughout to avoid
zombies; this hit htmltidy especially badly.master
parent
9b4d117eb1
commit
7f243ae21a
|
@ -20,9 +20,10 @@ sub sanitize (@) { #{{{
|
|||
my %params=@_;
|
||||
|
||||
my $tries=10;
|
||||
my $pid;
|
||||
while (1) {
|
||||
eval {
|
||||
open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes --show-warnings no --tidy-mark no');
|
||||
$pid=open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes --show-warnings no --tidy-mark no');
|
||||
};
|
||||
last unless $@;
|
||||
$tries--;
|
||||
|
@ -39,7 +40,11 @@ sub sanitize (@) { #{{{
|
|||
close OUT;
|
||||
|
||||
local $/ = undef;
|
||||
return <IN>;
|
||||
my $ret=<IN>;
|
||||
close IN;
|
||||
waitpid $pid, 0;
|
||||
|
||||
return $ret;
|
||||
} # }}}
|
||||
|
||||
1
|
||||
|
|
|
@ -31,9 +31,10 @@ sub htmlize (@) { #{{{
|
|||
my %params=@_;
|
||||
|
||||
my $tries=10;
|
||||
my $pid;
|
||||
while (1) {
|
||||
eval {
|
||||
open2(*IN, *OUT, 'otl2html -S /dev/null -T /dev/stdin');
|
||||
$pid=open2(*IN, *OUT, 'otl2html -S /dev/null -T /dev/stdin');
|
||||
};
|
||||
last unless $@;
|
||||
$tries--;
|
||||
|
@ -51,6 +52,9 @@ sub htmlize (@) { #{{{
|
|||
|
||||
local $/ = undef;
|
||||
my $ret=<IN>;
|
||||
close IN;
|
||||
waitpid $pid, 0;
|
||||
|
||||
$ret=~s/.*<body>//s;
|
||||
$ret=~s/<body>.*//s;
|
||||
$ret=~s/<div class="Footer">.*//s;
|
||||
|
|
|
@ -44,10 +44,11 @@ sub htmlize (@) { #{{{
|
|||
my $content=$params{content};
|
||||
|
||||
my $tries=10;
|
||||
my $pid;
|
||||
while (1) {
|
||||
eval {
|
||||
# Try to call python and run our command
|
||||
open2(*IN, *OUT, "python", "-c", $pyCmnd)
|
||||
$pid=open2(*IN, *OUT, "python", "-c", $pyCmnd)
|
||||
or return $content;
|
||||
};
|
||||
last unless $@;
|
||||
|
@ -63,8 +64,13 @@ sub htmlize (@) { #{{{
|
|||
|
||||
print OUT $content;
|
||||
close OUT;
|
||||
|
||||
local $/ = undef;
|
||||
return <IN>;
|
||||
my $ret=<IN>;
|
||||
close IN;
|
||||
waitpid $pid, 0;
|
||||
|
||||
return $ret;
|
||||
} # }}}
|
||||
|
||||
1
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
ikiwiki (1.25) UNRELEASED; urgency=low
|
||||
|
||||
* Add proper waitpid calls for open2ed processes throughout to avoid
|
||||
zombies; this hit htmltidy especially badly.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 3 Sep 2006 15:56:55 -0400
|
||||
|
||||
ikiwiki (1.24) unstable; urgency=low
|
||||
|
||||
* Simplify the data structure returned by rcs_recentchanges to avoid
|
||||
|
|
Loading…
Reference in New Issue