]> git.apps.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)
committerJason Dillaman <dillaman@redhat.com>
Fri, 11 Sep 2020 19:19:45 +0000 (15:19 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/common/WorkQueue.h

index 0c16cfc31f200217fc6e8d31ccbe78c1fd5fc85b..f25286b288c677efaa192e68456a9a5ac94b362f 100644 (file)
@@ -432,16 +432,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() {