|
HikoGUI
A low latency retained GUI
|
#include <hikogui/dead_lock_detector.hpp>
Static Public Member Functions | |
| static void * | lock (void *object) noexcept |
| Lock an object on this thread. | |
| 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 | clear_stack () noexcept |
| Clear the stack. | |
| static void | clear_graph () noexcept |
| Clear the graph. | |
Dead lock detector.
The dead lock detector should not be used before and after main(). By using hi::unfair_mutex_impl<false> you can get a mutex without a dead lock detector.
In the future when MSVC allows constinit thread_local variables we can change the implementation to allow the dead lock detector before main().
|
staticnoexcept |
Clear the graph.
Is used in unit-tests.
|
staticnoexcept |
Clear the stack.
Is used in unit-tests.
|
staticnoexcept |
Lock an object on this thread.
| object | The object that is being locked. |
|
staticnoexcept |
Remove the object from the detection.
This function is needed when there are mutex-like objects that are dynamically de-allocated.
| object | The object to remove from the lock order graph. |
|
staticnoexcept |
Unlock an object on this thread.
| object | The object that is being locked. |