---
lib/Sys/VirtV2V/ExecHelper.pm | 18 +++++-------------
1 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/lib/Sys/VirtV2V/ExecHelper.pm b/lib/Sys/VirtV2V/ExecHelper.pm
index 87f6d06..110ae9f 100644
--- a/lib/Sys/VirtV2V/ExecHelper.pm
+++ b/lib/Sys/VirtV2V/ExecHelper.pm
@@ -68,25 +68,17 @@ sub run
my $self = {};
bless($self, $class);
- $self->{output} = File::Temp->new();
- $self->{status} = $self->_run(@command);
-
- return $self;
-}
-
-sub _run
-{
- my $self = shift;
- my @command = @_;
-
- my $output = $self->{output};
-
my $null;
open($null, '<', '/dev/null') or die("Failed to
open /dev/null: $!");
+ my $output = File::Temp->new();
my $pid = open3($null, $output, $output, @command);
waitpid($pid, 0);
+
$self->{status} = $? >> 8;
+ $self->{output} = $output;
+
+ return $self;
}
=item status
--
1.6.6.1
On Mon, Mar 08, 2010 at 02:14:29PM +0000, Matthew Booth wrote:> --- > lib/Sys/VirtV2V/ExecHelper.pm | 18 +++++------------- > 1 files changed, 5 insertions(+), 13 deletions(-) > > diff --git a/lib/Sys/VirtV2V/ExecHelper.pm b/lib/Sys/VirtV2V/ExecHelper.pm > index 87f6d06..110ae9f 100644 > --- a/lib/Sys/VirtV2V/ExecHelper.pm > +++ b/lib/Sys/VirtV2V/ExecHelper.pm > @@ -68,25 +68,17 @@ sub run > my $self = {}; > bless($self, $class); > > - $self->{output} = File::Temp->new(); > - $self->{status} = $self->_run(@command); > - > - return $self; > -} > - > -sub _run > -{ > - my $self = shift; > - my @command = @_; > - > - my $output = $self->{output}; > - > my $null; > open($null, '<', '/dev/null') or die("Failed to open /dev/null: $!"); > > + my $output = File::Temp->new(); > my $pid = open3($null, $output, $output, @command); > waitpid($pid, 0); > + > $self->{status} = $? >> 8; > + $self->{output} = $output; > + > + return $self; > } > > =item status > -- > 1.6.6.1Yup, seems pretty obvious, ACK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top
Possibly Parallel Threads
- [PATCH] ExecHelper: Use tmpfile() instead of File::Temp->new()
- [PATCH] Improve cleanup of libguestfs handle with Sys::VirtV2V::GuestfsHandle
- [PATCH 1/2] Refactor guest and volume creation into Sys::VirtV2V::Target::LibVirt
- [PATCH 1/3] Fix RHEV cleanup on unclean shutdown
- [PATCH 1/6] Convert config file to XML, and translate networks/bridge for all connections