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