From d65d4f57d58749da096fe5097853746975cdeb6c Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 20 May 2010 06:06:11 -0400
Subject: [PATCH] Added better error handling to vlogger script in case that the mysql database connection is not available.

---
 server/scripts/vlogger |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/server/scripts/vlogger b/server/scripts/vlogger
index d136af1..ce0ce02 100755
--- a/server/scripts/vlogger
+++ b/server/scripts/vlogger
@@ -252,9 +252,14 @@
     }
 
     # test the connection
-    my $dbh = DBI->connect( $DBI_DSN, $DBI_USER, $DBI_PASS )
-      or die "DBI Error: $!";
-    $dbh->disconnect;
+	eval {
+      my $dbh = DBI->connect( $DBI_DSN, $DBI_USER, $DBI_PASS )
+        or die "DBI Error: $!";
+      $dbh->disconnect;
+	};
+	if ($@) {
+       print "MySQL Connection problem\n";
+    }
 
     # SIGALRM dumps the tracker hash
     $SIG{ALRM} = \&dump_tracker;
@@ -503,7 +508,8 @@
 
 # sub to update the database with the tracker data
 sub dump_tracker {
-    if ( keys(%tracker) > 0 ) {
+    eval {
+	if ( keys(%tracker) > 0 ) {
         my $dbh = DBI->connect( $DBI_DSN, $DBI_USER, $DBI_PASS )
           or warn "DBI Error: $!";
         foreach my $key ( keys(%tracker) ) {
@@ -529,6 +535,10 @@
         %tracker = ();
     }
     alarm $DBI_DUMP;
+	};
+    if ($@) {
+        print "Unable to store vlogger data in database\n";
+    }
 }
 
 # print usage info

--
Gitblit v1.9.1