summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qorderedmutexlocker_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/thread/qorderedmutexlocker_p.h')
-rw-r--r--src/corelib/thread/qorderedmutexlocker_p.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/corelib/thread/qorderedmutexlocker_p.h b/src/corelib/thread/qorderedmutexlocker_p.h
index 7d52a29..702125c 100644
--- a/src/corelib/thread/qorderedmutexlocker_p.h
+++ b/src/corelib/thread/qorderedmutexlocker_p.h
@@ -103,9 +103,11 @@ public:
mtx2->lock();
return true;
}
- mtx1->unlock();
- mtx2->lock();
- mtx1->lock();
+ if (!mtx2->tryLock()) {
+ mtx1->unlock();
+ mtx2->lock();
+ mtx1->lock();
+ }
return true;
}