diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-07-11 14:01:11 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-07-11 14:01:11 -0500 |
commit | ce039289815e2802fdeca8d384126c807ca9cb58 (patch) | |
tree | c6ceb8cf27601a54b858f7869e5e4ab7023b6e03 /servers/auth_server_lin/src/auth_conn.cpp | |
parent | 89702662657667460d0e5914794366d190f11534 (diff) | |
download | ulab-ce039289815e2802fdeca8d384126c807ca9cb58.tar.gz ulab-ce039289815e2802fdeca8d384126c807ca9cb58.zip |
Fix GPIB server failure
Diffstat (limited to 'servers/auth_server_lin/src/auth_conn.cpp')
-rw-r--r-- | servers/auth_server_lin/src/auth_conn.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
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(); |