summaryrefslogtreecommitdiffhomepage
path: root/dev/lib/memory/tracked_ptr.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-19 03:16:11 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-19 03:16:11 +0100
commit399f3697b5468af6f827af4f8a856aa842d7c2b6 (patch)
treeba96824ae096ef9b1607718f1373d529c9a1b7fe /dev/lib/memory/tracked_ptr.hpp
parent54940e80e0a259f748d483291e0e7aef7dd98353 (diff)
feat: making usage of the OCL way easier.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/lib/memory/tracked_ptr.hpp')
-rw-r--r--dev/lib/memory/tracked_ptr.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/dev/lib/memory/tracked_ptr.hpp b/dev/lib/memory/tracked_ptr.hpp
index 61daada..bf557d8 100644
--- a/dev/lib/memory/tracked_ptr.hpp
+++ b/dev/lib/memory/tracked_ptr.hpp
@@ -140,7 +140,7 @@ namespace ocl::memory
this->reset();
}
- tracked_ptr(const tracked_ptr&) = delete;
+ tracked_ptr(const tracked_ptr&) = delete;
tracked_ptr& operator=(const tracked_ptr&) = delete;
public:
@@ -224,12 +224,12 @@ namespace ocl::memory
}
/// @brief a Must Pass function is a standard way to verify a container' validity, inspired from NeKernel/VMKernel.
- template <typename T>
- inline void must_pass(tracked_ptr<T>& ptr) noexcept
+ template <typename T, typename error_handler>
+ inline void must_pass(tracked_ptr<T>& ptr, error_handler handler)
{
if (ptr.manager().allocator().allocated_count_ < ptr.manager().allocator().deallocated_count_)
{
- ::kill(::getpid(), SIGTRAP);
+ handler.template error<true>("Invalid TrackedPtr detected: Deallocated count exceeds allocated count.");
}
}
} // namespace ocl::memory