Module: tools Branch: master Commit: b967042dfc94fef6c4853a6fdea9c163d4e48843 URL: http://source.winehq.org/git/tools.git/?a=commit;h=b967042dfc94fef6c4853a6fd...
Author: Francois Gouget fgouget@codeweavers.com Date: Wed Aug 29 16:39:49 2012 +0200
testbot/Engine: On startup stop stale RevertVM.pl processes and consider the VMs dirty.
On startup we don't know what state the VMs are in: they may be shut off following a VM host reboot or they may still be running old tasks. So consider them all to be dirty (i.e. in need of a revert before use).
---
testbot/bin/Engine.pl | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/testbot/bin/Engine.pl b/testbot/bin/Engine.pl index a4db2e1..f63344b 100755 --- a/testbot/bin/Engine.pl +++ b/testbot/bin/Engine.pl @@ -541,6 +541,25 @@ sub ClientRead return $GotSomething; }
+sub InitVMs() +{ + # Kill any stale RevertVM.pl process so they don't mess with our VMs + system('killall RevertVM.pl 2>/dev/null'); + + # On startup we don't know what state the VMs are in. So consider them all + # to be dirty. + my $VMs = CreateVMs(); + foreach my $VMKey (@{$VMs->GetKeys()}) + { + my $VM = $VMs->GetItem($VMKey); + if ($VM->Status ne "offline") + { + $VM->Status("dirty"); + $VM->Save(); + } + } +} + sub SafetyNet { my $Jobs = CreateJobs(); @@ -635,6 +654,8 @@ sub main
$WineTestBot::Engine::Notify::RunningInEngine = 1;
+ InitVMs(); + my $SockName = "$DataDir/socket/engine"; my $uaddr = sockaddr_un($SockName); my $proto = getprotobyname('tcp');