diff --git a/components/db_ido_mysql/idomysqlconnection.h b/components/db_ido_mysql/idomysqlconnection.h index d114e0c60..df0882052 100644 --- a/components/db_ido_mysql/idomysqlconnection.h +++ b/components/db_ido_mysql/idomysqlconnection.h @@ -23,6 +23,7 @@ #include "db_ido_mysql/idomysqlconnection.th" #include "base/array.h" #include "base/timer.h" +#include "base/workqueue.h" #include namespace icinga @@ -53,6 +54,8 @@ private: DbReference m_InstanceID; DbReference m_LastNotificationID; + WorkQueue m_QueryQueue; + boost::mutex m_ConnectionMutex; bool m_Connected; MYSQL m_Connection; diff --git a/lib/base/workqueue.cpp b/lib/base/workqueue.cpp index aabb9ed27..a0dab7e89 100644 --- a/lib/base/workqueue.cpp +++ b/lib/base/workqueue.cpp @@ -68,6 +68,11 @@ void WorkQueue::Join(void) m_CV.wait(lock); } +boost::thread::id WorkQueue::GetThreadId(void) const +{ + return m_Thread.get_id(); +} + void WorkQueue::WorkerThreadProc(void) { boost::mutex::scoped_lock lock(m_Mutex); diff --git a/lib/base/workqueue.h b/lib/base/workqueue.h index b1b4a2ccb..923916d8d 100644 --- a/lib/base/workqueue.h +++ b/lib/base/workqueue.h @@ -46,6 +46,8 @@ public: void Enqueue(const WorkCallback& item); void Join(void); + boost::thread::id GetThreadId(void) const; + private: int m_ID; static int m_NextID;