rec_mutex is already locked by another
thread, the current thread will block until
unlocked by the other thread. If
rec_mutex is already locked
by the current thread, the ‘lock count’ of
rec_mutex is increased.
The mutex will only become available again when it is unlocked
as many times as it has been locked.