From 1592fe9aa3ee51a27438c6b8fb52d4a0a3c681e5 Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 27 Jun 2009 17:59:57 +0200 Subject: Backed out changeset 97d8a5f6449c --HG-- branch : trunk --- src/shared/Database/SqlDelayThread.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/shared/Database/SqlDelayThread.cpp') diff --git a/src/shared/Database/SqlDelayThread.cpp b/src/shared/Database/SqlDelayThread.cpp index f36cf4940ce..9a92fd5dd63 100644 --- a/src/shared/Database/SqlDelayThread.cpp +++ b/src/shared/Database/SqlDelayThread.cpp @@ -22,10 +22,8 @@ #include "Database/SqlOperations.h" #include "DatabaseEnv.h" -SqlDelayThread::SqlDelayThread(Database* db, const char* infoString) :m_running(true) +SqlDelayThread::SqlDelayThread(Database* db) : m_dbEngine(db), m_running(true) { - m_dbEngine = new DatabaseType; - ((DatabaseType*)m_dbEngine)->Initialize(infoString, false); } void SqlDelayThread::run() @@ -37,16 +35,15 @@ void SqlDelayThread::run() while (m_running) { - try + // if the running state gets turned off while sleeping + // empty the queue before exiting + ACE_Based::Thread::Sleep(10); + while (!m_sqlQueue.empty()) { s = m_sqlQueue.next(); + s->Execute(m_dbEngine); + delete s; } - catch(...) - {continue;} - if(!s) - continue; - s->Execute(m_dbEngine); - delete s; } #ifndef DO_POSTGRESQL @@ -57,6 +54,5 @@ void SqlDelayThread::run() void SqlDelayThread::Stop() { m_running = false; - m_sqlQueue.cancel(); } -- cgit v1.2.3