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