Хорошо, я думаю, что нет реального способа сделать то, что я спрашиваю, без использования tryLock ().
Это можно сделать с помощью следующего кода:
bool is_locked = true;
if( a_mutex.tryLock() )
{
a_mutex.unlock();
is_locked = false;
}
if( is_locked )
{
...
}
Как вы видите, он разблокирует QMutex, "a_mutex", если он смог его заблокировать.
Конечно, это не идеальное решение, так как к тому моменту, когда оно достигнет 2-го оператора if, статус мьютекса может измениться.