diff --git a/src/DBManager.cpp b/src/DBManager.cpp index c5bfee7c2229e23eb1daacb039f4aa50082e4370..febb5d519ded26cb92f6e716ce8cd6aed90637d8 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 ea6c9569c6db873e7bc3d7989bebaaa1e99b79c4..3c06d7d55ae95d2cf0839a17a8beba9d9c2188aa 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() {