QLockFile: don't use the local timezone to compare file times
There's no need to find the local time zone and do expensive conversions to compare regular, old seconds-since-1970 to the time now. Task-number: QTBUG-93069 Change-Id: I6cdea00671e8479b9c50fffd167897b91a04ce03 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
parent
37edc6ab49
commit
615972b74f
@ -298,13 +298,13 @@ inline QDateTime QFileSystemMetaData::fileTime(QAbstractFileEngine::FileTime tim
|
||||
|
||||
#if defined(Q_OS_UNIX)
|
||||
inline QDateTime QFileSystemMetaData::birthTime() const
|
||||
{ return birthTime_ ? QDateTime::fromMSecsSinceEpoch(birthTime_) : QDateTime(); }
|
||||
{ return birthTime_ ? QDateTime::fromMSecsSinceEpoch(birthTime_, Qt::UTC) : QDateTime(); }
|
||||
inline QDateTime QFileSystemMetaData::metadataChangeTime() const
|
||||
{ return metadataChangeTime_ ? QDateTime::fromMSecsSinceEpoch(metadataChangeTime_) : QDateTime(); }
|
||||
{ return metadataChangeTime_ ? QDateTime::fromMSecsSinceEpoch(metadataChangeTime_, Qt::UTC) : QDateTime(); }
|
||||
inline QDateTime QFileSystemMetaData::modificationTime() const
|
||||
{ return modificationTime_ ? QDateTime::fromMSecsSinceEpoch(modificationTime_) : QDateTime(); }
|
||||
{ return modificationTime_ ? QDateTime::fromMSecsSinceEpoch(modificationTime_, Qt::UTC) : QDateTime(); }
|
||||
inline QDateTime QFileSystemMetaData::accessTime() const
|
||||
{ return accessTime_ ? QDateTime::fromMSecsSinceEpoch(accessTime_) : QDateTime(); }
|
||||
{ return accessTime_ ? QDateTime::fromMSecsSinceEpoch(accessTime_, Qt::UTC) : QDateTime(); }
|
||||
|
||||
inline uint QFileSystemMetaData::userId() const { return userId_; }
|
||||
inline uint QFileSystemMetaData::groupId() const { return groupId_; }
|
||||
|
@ -289,7 +289,7 @@ bool QLockFile::tryLock(int timeout)
|
||||
return false;
|
||||
case LockFailedError:
|
||||
if (!d->isLocked && d->isApparentlyStale()) {
|
||||
if (Q_UNLIKELY(QFileInfo(d->fileName).lastModified() > QDateTime::currentDateTime()))
|
||||
if (Q_UNLIKELY(QFileInfo(d->fileName).lastModified() > QDateTime::currentDateTimeUtc()))
|
||||
qInfo("QLockFile: Lock file '%ls' has a modification time in the future", qUtf16Printable(d->fileName));
|
||||
// Stale lock from another thread/process
|
||||
// Ensure two processes don't remove it at the same time
|
||||
|
Loading…
Reference in New Issue
Block a user