summaryrefslogtreecommitdiffstats
path: root/servers/auth_server_lin
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-07-11 14:01:11 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-07-11 14:01:11 -0500
commitce039289815e2802fdeca8d384126c807ca9cb58 (patch)
treec6ceb8cf27601a54b858f7869e5e4ab7023b6e03 /servers/auth_server_lin
parent89702662657667460d0e5914794366d190f11534 (diff)
downloadulab-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.cpp20
-rw-r--r--servers/auth_server_lin/src/auth_conn.h2
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;