use new logfunc callback for run_command

This commit is contained in:
Dietmar Maurer 2011-10-14 10:54:05 +02:00
parent 647069ac2c
commit e651cf0b97
2 changed files with 4 additions and 16 deletions

View File

@ -65,25 +65,12 @@ sub debugmsg {
sub run_command {
my ($logfd, $cmdstr, %param) = @_;
my $returnstdout = $param{returnstdout};
delete $param{returnstdout};
my $ostream = 0;
my $outfunc = sub {
my $line = shift;
$ostream .= "$line\n" if $returnstdout;
debugmsg ('info', $line, $logfd);
};
my $errfunc = sub {
my $logfunc = sub {
my $line = shift;
debugmsg ('info', $line, $logfd);
};
PVE::Tools::run_command($cmdstr, %param, outfunc => $outfunc, errfunc => $errfunc);
return $returnstdout ? $ostream : undef;
PVE::Tools::run_command($cmdstr, %param, logfunc => $logfunc);
}
sub storage_info {

View File

@ -92,7 +92,8 @@ sub type {
sub vm_status {
my ($self, $vmid) = @_;
my $status_text = $self->cmd ("vzctl status $vmid", returnstdout => 1);
my $status_text = '';
$self->cmd ("vzctl status $vmid", outfunc => sub {$status_text .= shift; });
chomp $status_text;
my $running = $status_text =~ m/running/ ? 1 : 0;