diff options
Diffstat (limited to 'src/corelib/thread/qorderedmutexlocker_p.h')
-rw-r--r-- | src/corelib/thread/qorderedmutexlocker_p.h | 8 |
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; } |