aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Database/SqlDelayThread.h
diff options
context:
space:
mode:
authorraczman <none@none>2009-06-25 15:56:45 +0200
committerraczman <none@none>2009-06-25 15:56:45 +0200
commitb8a1ffcf5022477402cea9bfee2b9ddcd830513e (patch)
tree73ea62ebb1ef231b870eb05f94a594a73e3b9dfc /src/shared/Database/SqlDelayThread.h
parente92f3cf01fb618505f3600a9a291c33b12aa5e63 (diff)
Implemented separate connection for SqlDelayThread
This should result in less locking when accessing database, and improved performance. * Changed SqlDelay queue type to monitored queue, and removed 10ms check period. thanks to Derex, mknjc, Jeniczek and Christyan for ideas and tests. --HG-- branch : trunk
Diffstat (limited to 'src/shared/Database/SqlDelayThread.h')
-rw-r--r--src/shared/Database/SqlDelayThread.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/shared/Database/SqlDelayThread.h b/src/shared/Database/SqlDelayThread.h
index 4c77c122f1e..7f534d93237 100644
--- a/src/shared/Database/SqlDelayThread.h
+++ b/src/shared/Database/SqlDelayThread.h
@@ -24,14 +24,16 @@
#include "zthread/Thread.h"
#include "zthread/Runnable.h"
#include "zthread/FastMutex.h"
-#include "zthread/LockedQueue.h"
+#include "zthread/MonitoredQueue.h"
class Database;
class SqlOperation;
+
+
class SqlDelayThread : public ZThread::Runnable
{
- typedef ZThread::LockedQueue<SqlOperation*, ZThread::FastMutex> SqlQueue;
+typedef ZThread::MonitoredQueue<SqlOperation*, ZThread::FastMutex> SqlQueue;
private:
SqlQueue m_sqlQueue; ///< Queue of SQL statements
Database* m_dbEngine; ///< Pointer to used Database engine
@@ -39,7 +41,7 @@ class SqlDelayThread : public ZThread::Runnable
SqlDelayThread();
public:
- SqlDelayThread(Database* db);
+ SqlDelayThread(Database* db,const char* infoString);
///< Put sql statement to delay queue
inline bool Delay(SqlOperation* sql) { m_sqlQueue.add(sql); return true; }