Francois Gouget : testbot/VMs: Turn VM:: Hypervisors into a singleton so we maintain a single connection per hypervisor as was intended .
Module: tools Branch: master Commit: b9435d67f2b924d1d3e66e052a6375c3155b74e9 URL: http://source.winehq.org/git/tools.git/?a=commit;h=b9435d67f2b924d1d3e66e052... Author: Francois Gouget <fgouget(a)codeweavers.com> Date: Fri Sep 27 19:58:26 2013 +0200 testbot/VMs: Turn VM::Hypervisors into a singleton so we maintain a single connection per hypervisor as was intended. --- testbot/lib/WineTestBot/VMs.pm | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm index 2cfeb54..c92b534 100644 --- a/testbot/lib/WineTestBot/VMs.pm +++ b/testbot/lib/WineTestBot/VMs.pm @@ -48,13 +48,17 @@ require Exporter; @EXPORT_OK = qw(new); +my $Singleton; sub new($) { my ($class) = @_; - my $self = {}; - $self = bless $self, $class; - return $self; + if (!defined $Singleton) + { + $Singleton = {}; + $Singleton = bless $Singleton, $class; + } + return $Singleton; } =pod @@ -75,8 +79,8 @@ sub GetHypervisor($$) my $Key = $URI || ""; if (!defined $self->{$Key}) { - eval { $self->{$Key} = Sys::Virt->new(uri => $URI); }; - return ($@->message(), undef) if ($@); + eval { $self->{$Key} = Sys::Virt->new(uri => $URI); }; + return ($@->message(), undef) if ($@); } return (undef, $self->{$Key});
participants (1)
-
Alexandre Julliard