From ce039289815e2802fdeca8d384126c807ca9cb58 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 11 Jul 2012 14:01:11 -0500 Subject: Fix GPIB server failure --- servers/auth_server_lin/src/auth_conn.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'servers/auth_server_lin/src/auth_conn.cpp') diff --git a/servers/auth_server_lin/src/auth_conn.cpp b/servers/auth_server_lin/src/auth_conn.cpp index cac5ba9..f2549d3 100644 --- a/servers/auth_server_lin/src/auth_conn.cpp +++ b/servers/auth_server_lin/src/auth_conn.cpp @@ -575,6 +575,11 @@ AuthServer::AuthServer(TQObject* parent) : } AuthServer::~AuthServer() { + if (m_sqlPingTimer) { + m_sqlPingTimer->stop(); + delete m_sqlPingTimer; + m_sqlPingTimer = NULL; + } if (m_database) { TQSqlDatabase::removeDatabase(m_database); m_database = NULL; @@ -639,9 +644,24 @@ int AuthServer::connectToDatabase() { return -1; } + // FIXME + // We currently have no way to handle something as simple as the database server going offline! + + // Start database ping process + m_sqlPingTimer = new TQTimer(); + connect(m_sqlPingTimer, SIGNAL(timeout()), this, SLOT(pingSQLServer())); + m_sqlPingTimer->start(60*1000); + return 0; } +void AuthServer::pingSQLServer() { + // FIXME + // We might as well gather statistics here... + TQSqlQuery query; + query.exec("SELECT * FROM activity"); +} + void AuthServer::newConnection(int socket) { AuthSocket *s = new AuthSocket(socket, this); s->m_remoteHost = s->peerAddress().toString(); -- cgit v1.2.3