From 4d82fe946a6c0c63bc76cb8f092e484741b2aabc Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 19 Dec 2020 20:04:24 +0800 Subject: [PATCH] crimson/common: verify that tri_mutex is not locked in its dtor otherwise we have a bug. Signed-off-by: Kefu Chai --- src/crimson/common/tri_mutex.cc | 5 +++++ src/crimson/common/tri_mutex.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/crimson/common/tri_mutex.cc b/src/crimson/common/tri_mutex.cc index 7ec52522a70eb..c18aff1a00fe9 100644 --- a/src/crimson/common/tri_mutex.cc +++ b/src/crimson/common/tri_mutex.cc @@ -64,6 +64,11 @@ void excl_lock_from_excl::unlock() { } +tri_mutex::~tri_mutex() +{ + assert(!is_acquired()); +} + seastar::future<> tri_mutex::lock_for_read() { if (try_lock_for_read()) { diff --git a/src/crimson/common/tri_mutex.h b/src/crimson/common/tri_mutex.h index 03e6474c40a44..127573b3ae458 100644 --- a/src/crimson/common/tri_mutex.h +++ b/src/crimson/common/tri_mutex.h @@ -67,6 +67,7 @@ class tri_mutex : private read_lock, { public: tri_mutex() = default; + ~tri_mutex(); read_lock& for_read() { return *this; -- 2.39.5