]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/common: verify that tri_mutex is not locked in its dtor
authorKefu Chai <kchai@redhat.com>
Sat, 19 Dec 2020 12:04:24 +0000 (20:04 +0800)
committerKefu Chai <kchai@redhat.com>
Sat, 19 Dec 2020 12:04:30 +0000 (20:04 +0800)
otherwise we have a bug.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/common/tri_mutex.cc
src/crimson/common/tri_mutex.h

index 7ec52522a70eb65b4120ef7958a51c10954eee7a..c18aff1a00fe94599210e348137208cbdbbd27f8 100644 (file)
@@ -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()) {
index 03e6474c40a44e50c79e994b03afc89e8e2a5b6f..127573b3ae4582c8bb80b8e2059fe8642d6d351c 100644 (file)
@@ -67,6 +67,7 @@ class tri_mutex : private read_lock,
 {
 public:
   tri_mutex() = default;
+  ~tri_mutex();
 
   read_lock& for_read() {
     return *this;