A cross-platform implementation of a mutex, that automatically checks for everything, you might be doing wrong:
- DeadLocks
- Invalid mutex leave order
- Thread Shutdown, while still holding mutex locks
- Destroying a locked mutex
- (Un)Locking a destroyed mutex
- UnLocking an unlocked mutex
- UnLocking an mutex locked by another thread
- Locking a non-recursive, locked mutex
- Not destroying all mutexes before application termination
Every abnormal produces a console output with file and line information about were it is located and why it happened.
The main purpose of debug_mutex is the detection of deadlocks and outputting useful information, to fix it, by telling you exactly, where the recursion happened.
Debug_mutex can easily be disabled and simply used as a cross-platform mutex Library
Debug_mutex can be linked statically or externally
Features
- cross-platform
- c / c++
- debug_new compatible
- DeadLock detection
- c++ API
- static linkage
- extern linkage