diff options
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(); |