11#include "../utility/module.hpp"
16namespace hi {
inline namespace v1 {
24 friend std::strong_ordering
47 static void *
lock(
void *
object)
noexcept;
53 static bool unlock(
void *
object)
noexcept;
74 thread_local inline static
std::vector<
void *> stack;
81 inline static
std::vector<detail::dead_lock_detector_pair> lock_graph;
83 [[nodiscard]] static
void *check_graph(
void *
object) noexcept;
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
Definition dead_lock_detector.hpp:19
Dead lock detector.
Definition dead_lock_detector.hpp:40
static void clear_graph() noexcept
Clear the graph.
static bool unlock(void *object) noexcept
Unlock an object on this thread.
static void remove_object(void *object) noexcept
Remove the object from the detection.
static void * lock(void *object) noexcept
Lock an object on this thread.
static void clear_stack() noexcept
Clear the stack.