X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/63edea27bc71c3bdf1837f994fb7effdd93fb2dd..513af0c0df210bbab175f3408013f058cec05ef1:/IkiWiki/Plugin/rst.pm diff --git a/IkiWiki/Plugin/rst.pm b/IkiWiki/Plugin/rst.pm index 6bf11fe36..789a70ac7 100644 --- a/IkiWiki/Plugin/rst.pm +++ b/IkiWiki/Plugin/rst.pm @@ -39,14 +39,16 @@ sub import { #{{{ IkiWiki::hook(type => "htmlize", id => "rst", call => \&htmlize); } # }}} -sub htmlize ($) { #{{{ - my $content=shift; +sub htmlize (@) { #{{{ + my %params=@_; + 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 $@; @@ -62,8 +64,13 @@ sub htmlize ($) { #{{{ print OUT $content; close OUT; + local $/ = undef; - return ; + my $ret=; + close IN; + waitpid $pid, 0; + + return $ret; } # }}} 1