Fix guest agent shutdown without timeout

Regression from change allowing timeouts to be set, now shutting down
also works without timeouts again (previously qmp failed because of
the unknown "timeout" parameter passed to it).

We always delete the timeout value from the arguments, regardless of
truthiness. "delete" returns the deleted element, deleting a
non-existant hash entry returns undef, which is fine after this point:

"deleting non-existent elements returns the undefined value in their
corresponding positions."
- https://perldoc.perl.org/functions/delete.html

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
Stefan Reiter 2019-06-25 16:44:31 +02:00 committed by Thomas Lamprecht
parent 0534c7a073
commit 1688362d4e

View File

@ -5485,9 +5485,8 @@ sub vm_qmp_command {
my $res;
my $timeout;
if ($cmd->{arguments} && $cmd->{arguments}->{timeout}) {
$timeout = $cmd->{arguments}->{timeout};
delete $cmd->{arguments}->{timeout};
if ($cmd->{arguments}) {
$timeout = delete $cmd->{arguments}->{timeout};
}
eval {