...
The behavior of a program is undefined if it destroys a
mutexobject owned by any thread or a thread terminates while owning amutexobject.
This statement implies that destroying a mutex while a thread is waiting on it is undefined behavior.
...