diff options
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/qlockfile.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/corelib/io/qlockfile.cpp b/src/corelib/io/qlockfile.cpp index cb61a52c04..e7275eeaed 100644 --- a/src/corelib/io/qlockfile.cpp +++ b/src/corelib/io/qlockfile.cpp @@ -42,7 +42,7 @@ #include "qlockfile_p.h" #include <QtCore/qthread.h> -#include <QtCore/qelapsedtimer.h> +#include <QtCore/qdeadlinetimer.h> #include <QtCore/qdatetime.h> QT_BEGIN_NAMESPACE @@ -210,9 +210,7 @@ bool QLockFile::lock() bool QLockFile::tryLock(int timeout) { Q_D(QLockFile); - QElapsedTimer timer; - if (timeout > 0) - timer.start(); + QDeadlineTimer timer(qMax(timeout, -1)); // QDT only takes -1 as "forever" int sleepTime = 100; forever { d->lockError = d->tryLock_sys(); @@ -235,7 +233,7 @@ bool QLockFile::tryLock(int timeout) } break; } - if (timeout == 0 || (timeout > 0 && timer.hasExpired(timeout))) + if (timer.hasExpired()) return false; QThread::msleep(sleepTime); if (sleepTime < 5 * 1000) |