#include "include/Context.h"
AsyncOpTracker::AsyncOpTracker()
- : m_lock("AsyncOpTracker::m_lock", false, false) {
+{
}
AsyncOpTracker::~AsyncOpTracker() {
- std::lock_guard<Mutex> locker(m_lock);
+ std::lock_guard locker(m_lock);
ceph_assert(m_pending_ops == 0);
}
void AsyncOpTracker::start_op() {
- std::lock_guard<Mutex> locker(m_lock);
+ std::lock_guard locker(m_lock);
++m_pending_ops;
}
void AsyncOpTracker::finish_op() {
Context *on_finish = nullptr;
{
- std::lock_guard<Mutex> locker(m_lock);
+ std::lock_guard locker(m_lock);
ceph_assert(m_pending_ops > 0);
if (--m_pending_ops == 0) {
std::swap(on_finish, m_on_finish);
void AsyncOpTracker::wait_for_ops(Context *on_finish) {
{
- std::lock_guard<Mutex> locker(m_lock);
+ std::lock_guard locker(m_lock);
ceph_assert(m_on_finish == nullptr);
if (m_pending_ops > 0) {
m_on_finish = on_finish;
}
bool AsyncOpTracker::empty() {
- std::lock_guard<Mutex> locker(m_lock);
+ std::lock_guard locker(m_lock);
return (m_pending_ops == 0);
}
#ifndef CEPH_ASYNC_OP_TRACKER_H
#define CEPH_ASYNC_OP_TRACKER_H
-#include "common/Mutex.h"
+#include "common/ceph_mutex.h"
struct Context;
bool empty();
private:
- Mutex m_lock;
+ ceph::mutex m_lock = ceph::make_mutex("AsyncOpTracker::m_lock");
uint32_t m_pending_ops = 0;
Context *m_on_finish = nullptr;