13namespace hi::inline v1 {
21 friend std::strong_ordering
42 static void *
lock(
void *
object)
noexcept;
48 static bool unlock(
void *
object)
noexcept;
66 static
void clear_graph() noexcept;
69 thread_local inline static
std::vector<
void *>
stack;
76 inline static
std::vector<detail::dead_lock_detector_pair> lock_graph;
78 [[nodiscard]] static
void *check_graph(
void *
object) noexcept;
Functions and macros for handling architectural difference between compilers, CPUs and operating syst...
Definition dead_lock_detector.hpp:16
Dead lock detector.
Definition dead_lock_detector.hpp:35
static void clear_stack() noexcept
Clear the stack.
static void * lock(void *object) noexcept
Lock an object on this thread.
static void remove_object(void *object) noexcept
Remove the object from the detection.
static bool unlock(void *object) noexcept
Unlock an object on this thread.
A static sized stack.
Definition stack.hpp:23