X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcommon%2FAsyncOpTracker.cc;fp=src%2Fceph%2Fsrc%2Fcommon%2FAsyncOpTracker.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=10a72d2b135bb6472d762348e46f87ce2d271752;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/common/AsyncOpTracker.cc b/src/ceph/src/common/AsyncOpTracker.cc deleted file mode 100644 index 10a72d2..0000000 --- a/src/ceph/src/common/AsyncOpTracker.cc +++ /dev/null @@ -1,52 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include "common/AsyncOpTracker.h" -#include "include/Context.h" - -AsyncOpTracker::AsyncOpTracker() - : m_lock("AsyncOpTracker::m_lock", false, false) { -} - -AsyncOpTracker::~AsyncOpTracker() { - Mutex::Locker locker(m_lock); - assert(m_pending_ops == 0); -} - -void AsyncOpTracker::start_op() { - Mutex::Locker locker(m_lock); - ++m_pending_ops; -} - -void AsyncOpTracker::finish_op() { - Context *on_finish = nullptr; - { - Mutex::Locker locker(m_lock); - assert(m_pending_ops > 0); - if (--m_pending_ops == 0) { - std::swap(on_finish, m_on_finish); - } - } - - if (on_finish != nullptr) { - on_finish->complete(0); - } -} - -void AsyncOpTracker::wait_for_ops(Context *on_finish) { - { - Mutex::Locker locker(m_lock); - assert(m_on_finish == nullptr); - if (m_pending_ops > 0) { - m_on_finish = on_finish; - return; - } - } - on_finish->complete(0); -} - -bool AsyncOpTracker::empty() { - Mutex::Locker locker(m_lock); - return (m_pending_ops == 0); -} -