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...