In other words. in single-threaded configuration, task never yields and locks the mutex again and again, if there are no blocking operations between unlocking and locking. Even if thousand others tasks are waiting for the mutex.
Looks strange for me, because trying to lock the mutex is a blocking operation and should force task to yiled if mutex is unlocked and other tasks already waiting.