summaryrefslogtreecommitdiffstats
path: root/servers/auth_server_lin/src/auth_conn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/auth_server_lin/src/auth_conn.cpp')
-rw-r--r--servers/auth_server_lin/src/auth_conn.cpp20
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();