From: Tomas Doran Date: Thu, 19 Nov 2009 21:52:39 +0000 (+0000) Subject: Use anon symbols for safety / reentrancy, no idea if this works :) X-Git-Tag: 0.000000_01~16^2~5 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cdcdec9278c70003c2f5f62f6f50ba8b5e5930c2;p=catagits%2FGitalist.git Use anon symbols for safety / reentrancy, no idea if this works :) --- diff --git a/lib/Gitalist/Git/Util.pm b/lib/Gitalist/Git/Util.pm index 4ce5bb3..c5d26ab 100644 --- a/lib/Gitalist/Git/Util.pm +++ b/lib/Gitalist/Git/Util.pm @@ -4,6 +4,7 @@ class Gitalist::Git::Util { use File::Which; use Git::PurePerl; use IPC::Run qw(run); + use Symbol qw(geniosym); use MooseX::Types::Common::String qw/NonEmptySimpleStr/; has project => ( @@ -47,14 +48,15 @@ EOR } method run_cmd_fh (@args) { + my ($out, $err) = (geniosym, geniosym); unshift @args, ('--git-dir' => $self->gitdir) if $self->has_project; run [$self->_git, @args], - 'pipe', \*OUT, - '2>pipe', \*ERR + undef, + '>pipe', $out, + '2>pipe', $err or die "cmd returned *?"; - return \*OUT; + return ($out, $err); } method run_cmd_list (@args) {