Francois Gouget : testbot/lib: Automatically reconnect to the database.

Alexandre Julliard julliard at winehq.org
Fri Oct 26 12:59:24 CDT 2012


Module: tools
Branch: master
Commit: e81915fade44523f693da35762847a521feea824
URL:    http://source.winehq.org/git/tools.git/?a=commit;h=e81915fade44523f693da35762847a521feea824

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Fri Oct 26 18:18:28 2012 +0200

testbot/lib: Automatically reconnect to the database.

This way short idle timeouts don't break WineTestBot.

---

 testbot/lib/ObjectModel/DBIBackEnd.pm |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/testbot/lib/ObjectModel/DBIBackEnd.pm b/testbot/lib/ObjectModel/DBIBackEnd.pm
index 5e61eed..72ff3c5 100644
--- a/testbot/lib/ObjectModel/DBIBackEnd.pm
+++ b/testbot/lib/ObjectModel/DBIBackEnd.pm
@@ -43,7 +43,13 @@ sub GetDb
 {
   my $self = shift;
 
-  if (! defined($self->{Db}))
+  if (defined $self->{Db} && !$self->{Db}->ping())
+  {
+    # This connection no longer works, probably due to the database idle timeout
+    $self->{Db}->disconnect();
+    $self->{Db} = undef;
+  }
+  if (!defined $self->{Db})
   {
     $self->{Db} = DBI->connect(@{$self->{ConnectArgs}});
   }




More information about the wine-cvs mailing list