From c0786b1dd04da0a83783a257b6966054b96ee602 Mon Sep 17 00:00:00 2001 From: Marco De Marco <demarco@oats.inaf.it> Date: Tue, 28 Jan 2014 09:52:27 +0100 Subject: [PATCH] Mysql server is gone away fix --- src/DBManager.cpp | 13 +++++++++++++ src/Server.cpp | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/DBManager.cpp b/src/DBManager.cpp index c5bfee7..febb5d5 100644 --- a/src/DBManager.cpp +++ b/src/DBManager.cpp @@ -5,6 +5,8 @@ #include <soci/mysql/soci-mysql.h> #include <soci/use.h> +#include <mysql.h> + namespace MetadataExporter_ns { @@ -62,7 +64,18 @@ void DBManager::connect() throw(soci::soci_error) #endif for(unsigned int i=0; i<connectionNumber; ++i) + { m_connectionPool_sp->at(i).open(soci::mysql, connection.str()); + + soci::mysql_session_backend* backend = + static_cast<soci::mysql_session_backend*>( + m_connectionPool_sp->at(i).get_backend()); + + MYSQL* mysql = backend->conn_; + + bool reconnect = true; + mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect); + } } //============================================================================== diff --git a/src/Server.cpp b/src/Server.cpp index ea6c956..3c06d7d 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -30,7 +30,7 @@ Server::Server(Tango::DeviceImpl* deviceImpl_p, Configuration::SP configuration_ } //============================================================================== -// Server::Server() +// Server::~Server() //============================================================================== Server::~Server() { -- GitLab