]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/seastar/include/seastar/core/shared_ptr_debug_helper.hh
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / seastar / include / seastar / core / shared_ptr_debug_helper.hh
index 577760194990e655e76001eb637b6a935c4d58fc..592f8125e1e2dcbb626db077aaa7ba75851dc76a 100644 (file)
 #include <thread>
 #include <cassert>
 
+#include <seastar/core/on_internal_error.hh>
+
 namespace seastar {
 
+extern logger seastar_logger;
+
 // A counter that is only comfortable being incremented on the cpu
 // it was created on.  Useful for verifying that a shared_ptr
 // or lw_shared_ptr isn't misued across cores.
@@ -60,7 +64,9 @@ public:
     }
 private:
     void check() const {
-        assert(_cpu == std::this_thread::get_id());
+        if (__builtin_expect(_cpu != std::this_thread::get_id(), false)) {
+            on_fatal_internal_error(seastar_logger, "shared_ptr accessed on non-owner cpu");
+        }
     }
 };