qmake: do not exclusively lock files for reading on Windows/MSVC
When sifting through a file to find Q_OBJECT and friends, qmake was locking it for reading and writing (_SH_DENYRW). This breaks parallel builds where multiple qmake instances might want to scan the same file. Changed the sharing constant to _SH_DENYNO, which doesn't lock the file at all. This is consistent with the _sopen_s call in findDeps. Change-Id: I9c0a06db7f580f411e79d9d96dd36a6d705679aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
31e801d642
commit
7ff393944e
@ -697,7 +697,7 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
|
|||||||
int fd;
|
int fd;
|
||||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||||
if (_sopen_s(&fd, fixPathForFile(file->file, true).local().toLocal8Bit().constData(),
|
if (_sopen_s(&fd, fixPathForFile(file->file, true).local().toLocal8Bit().constData(),
|
||||||
_O_RDONLY, _SH_DENYRW, _S_IREAD) != 0)
|
_O_RDONLY, _SH_DENYNO, _S_IREAD) != 0)
|
||||||
fd = -1;
|
fd = -1;
|
||||||
#else
|
#else
|
||||||
fd = open(fixPathForFile(file->file, true).local().toLocal8Bit().constData(), O_RDONLY);
|
fd = open(fixPathForFile(file->file, true).local().toLocal8Bit().constData(), O_RDONLY);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user