CatalystでText::VimColorが動かない
FemoのText::Hatenaをアップデートしようと確認していたら、Text::VimColorがserver.plでうまく動かない。
試しに適当なアプリケーション作って、
sub test : Local { my ( $self, $c ) = @_; my $test = <<'EOF'; #!/usr/bin/perl use strict; use warnings; print "Hello World\n"; EOF my $html = Text::VimColor->new( string => $test, filetype => 'perl', html_full_page => 1, )->html; $c->res->body($html); }
# ./script/myapp_server.pl -r
で起動して、ブラウザアクセスするとレスポンスが返ってこなくなる。
Terminalの方で、Ctrl+Cするとレスポンスが返ってくる。ただしコンテンツは空。
ちなみに、
# ./script/myapp_server.pl -r -f
としてforkすると動く。
selectかexecのあたりかが原因なんだろうけど、よくわからなかったので
package Text::VimColor; use IPC::Run qw//; sub _run { my ($self, $prog, @args) = @_; local $|=1; IPC::Run::run([$prog, @args], \my $in,\my $out,\my $err); return 1; }
にした。
あと、これだと、FastCGIで動かないようだったので、とりあえずFemoの本番サーバをmod_perlに変更した。
あとで、もう少し深追いする。