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 | |
parent | 89702662657667460d0e5914794366d190f11534 (diff) | |
download | ulab-ce039289815e2802fdeca8d384126c807ca9cb58.tar.gz ulab-ce039289815e2802fdeca8d384126c807ca9cb58.zip |
Fix GPIB server failure
Diffstat (limited to 'servers/auth_server_lin')
-rw-r--r-- | servers/auth_server_lin/src/auth_conn.cpp | 20 | ||||
-rw-r--r-- | servers/auth_server_lin/src/auth_conn.h | 2 |
2 files changed, 22 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(); diff --git a/servers/auth_server_lin/src/auth_conn.h b/servers/auth_server_lin/src/auth_conn.h index 8c75bfa..61fc626 100644 --- a/servers/auth_server_lin/src/auth_conn.h +++ b/servers/auth_server_lin/src/auth_conn.h @@ -104,6 +104,7 @@ class AuthServer : public TQServerSocket private slots: int connectToDatabase(); + void pingSQLServer(); signals: void newConnect(AuthSocket*); @@ -111,6 +112,7 @@ class AuthServer : public TQServerSocket private: KSimpleConfig* m_config; TQSqlDatabase* m_database; + TQTimer* m_sqlPingTimer; friend class AuthSocket; |