From: Jason Dillaman Date: Thu, 10 Dec 2015 23:38:34 +0000 (-0500) Subject: WorkQueue: PointerWQ now supports out-of-band processing X-Git-Tag: v10.0.2~35^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=01bc5156ef60341c3d88c63b0f1f9c1b8126d62a;p=ceph.git WorkQueue: PointerWQ now supports out-of-band processing Signed-off-by: Jason Dillaman --- diff --git a/src/common/WorkQueue.h b/src/common/WorkQueue.h index 7c3ccb5c5c2..a6e7972408f 100644 --- a/src/common/WorkQueue.h +++ b/src/common/WorkQueue.h @@ -411,6 +411,10 @@ public: } virtual void process(T *item) = 0; + void process_finish() { + Mutex::Locker locker(m_pool->_lock); + _void_process_finish(nullptr); + } T *front() { assert(m_pool->_lock.is_locked()); @@ -423,6 +427,9 @@ public: Mutex::Locker pool_locker(m_pool->_lock); m_pool->_cond.SignalOne(); } + Mutex &get_pool_lock() { + return m_pool->_lock; + } private: ThreadPool *m_pool; std::list m_items;