diff options
Diffstat (limited to 'src/corelib/io/qlockfile.cpp')
-rw-r--r-- | src/corelib/io/qlockfile.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/io/qlockfile.cpp b/src/corelib/io/qlockfile.cpp index e7275eeaed..ae3a7c6abc 100644 --- a/src/corelib/io/qlockfile.cpp +++ b/src/corelib/io/qlockfile.cpp @@ -233,8 +233,13 @@ bool QLockFile::tryLock(int timeout) } break; } - if (timer.hasExpired()) + + int remainingTime = timer.remainingTime(); + if (remainingTime == 0) return false; + else if (uint(sleepTime) > uint(remainingTime)) + sleepTime = remainingTime; + QThread::msleep(sleepTime); if (sleepTime < 5 * 1000) sleepTime *= 2; |