From 993f4df1b3ba897c28a0e8b9e1cd0e358238682f Mon Sep 17 00:00:00 2001
From: Marco De Marco <demarco@oats.inaf.it>
Date: Mon, 17 Mar 2014 14:22:31 +0100
Subject: [PATCH] Reset connection fix

---
 src/Client.cpp    | 8 +++++++-
 src/SSLClient.cpp | 4 ++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Client.cpp b/src/Client.cpp
index b28921f..fc240a2 100644
--- a/src/Client.cpp
+++ b/src/Client.cpp
@@ -249,10 +249,12 @@ void Client::handleUpdateLists(const boost::system::error_code& errorCode)
     else if(errorCode == boost::asio::error::operation_aborted)
     {
         DEBUG_STREAM << "Client::handleUpdateLists() STOP" << endl;
+
+        //TODO: change state and status
     }
     else
     {
-        ERROR_STREAM << "Client::handleResolve() " << errorCode.message() << endl;
+        ERROR_STREAM << "Client::handleUpdateLists() " << errorCode.message() << endl;
 
         writeState(Tango::ALARM);
         writeStatus(errorCode.message());
@@ -549,10 +551,14 @@ void Client::resetConnection()
     {
         ERROR_STREAM << "Client::resetConnection() Connection timeout" << endl;
 
+        m_resetConnectionTimer.expires_at(boost::posix_time::pos_infin);
+
         closeConnection();
 
         startUpdateLists();
     }
+
+    m_resetConnectionTimer.async_wait(boost::bind(&Client::resetConnection, this));
 }
 
 //==============================================================================
diff --git a/src/SSLClient.cpp b/src/SSLClient.cpp
index 43b2a41..e3553e6 100644
--- a/src/SSLClient.cpp
+++ b/src/SSLClient.cpp
@@ -84,7 +84,7 @@ void SSLClient::startConnect(boost::asio::ip::tcp::resolver::iterator endPointIt
     }
     else
     {
-        ERROR_STREAM << "PlainClient::startConnect() No more endpoint" << endl;
+        ERROR_STREAM << "SSLClient::startConnect() No more endpoint" << endl;
 
         writeState(Tango::ALARM);
         writeStatus("No more endpoint");
@@ -105,7 +105,7 @@ void SSLClient::handleConnect(const boost::system::error_code& errorCode,
     }
     else
     {
-        ERROR_STREAM << "PlainClient::handleConnect() " << errorCode.message() << endl;
+        ERROR_STREAM << "SSLClient::handleConnect() " << errorCode.message() << endl;
 
         writeState(Tango::ALARM);
         writeStatus(errorCode.message());
-- 
GitLab