]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/WorkQueue: added lock-held versions of ContextWQ queue methods
authorJason Dillaman <dillaman@redhat.com>
Fri, 11 Sep 2020 19:19:45 +0000 (15:19 -0400)
committerNathan Cutler <ncutler@suse.com>
Thu, 29 Oct 2020 15:42:09 +0000 (16:42 +0100)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 1568b0e16efe3dc1383c249cbffe43620e2aed28)

src/common/WorkQueue.h

index 2ccdd9a1036658ed676f15583da7f76a6fb544a6..5259f92d32cb51ef0e4ab232786d7f8a801ca47b 100644 (file)
@@ -431,16 +431,25 @@ public:
     }
     void requeue_front(T *item) {
       std::lock_guard pool_locker(m_pool->_lock);
+      requeue_front(pool_locker, item);
+    }
+    void requeue_front(const std::lock_guard<ceph::mutex>&, T *item) {
       _void_process_finish(nullptr);
       m_items.push_front(item);
     }
     void requeue_back(T *item) {
       std::lock_guard pool_locker(m_pool->_lock);
+      requeue_back(pool_locker, item);
+    }
+    void requeue_back(const std::lock_guard<ceph::mutex>&, T *item) {
       _void_process_finish(nullptr);
       m_items.push_back(item);
     }
     void signal() {
       std::lock_guard pool_locker(m_pool->_lock);
+      signal(pool_locker);
+    }
+    void signal(const std::lock_guard<ceph::mutex>&) {
       m_pool->_cond.notify_one();
     }
     ceph::mutex &get_pool_lock() {