diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-10-02 11:13:27 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-10-28 15:55:29 +0000 |
commit | 50dce78df8774681c3bb7d9c95ea7d42fb1d6bfb (patch) | |
tree | a776c4697a6696441c7e1d1e57c582c78166294f /packaging-tools/bld_module.py | |
parent | 54cb5ee517150aa86ee4a27c9d055cef3502f5d8 (diff) |
Fix race condition when downloading and extracting Qt
On Windows, using 7zip in parallel to unzip into the same directory
regularly fails. It checks whether a directory exists and creates it
if not. Creating directories fails if the directory already exists.
So, if a different process (e.g. different 7z) creates the directory
between the check for existence and the creation, the latter fails.
Split the Qt download and extract into a parallel download phase
and a sequential extract phase.
Change-Id: I2e8f841a467267815ad2338b12cc0f388f8e8e57
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Diffstat (limited to 'packaging-tools/bld_module.py')
-rwxr-xr-x | packaging-tools/bld_module.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/packaging-tools/bld_module.py b/packaging-tools/bld_module.py index 085a89068..656e04d62 100755 --- a/packaging-tools/bld_module.py +++ b/packaging-tools/bld_module.py @@ -241,8 +241,8 @@ qmakeBinary = os.path.abspath(os.path.join(callerArguments.qt5path, 'bin', 'qmak if not os.path.lexists(callerArguments.qt5path): # get Qt myGetQtBinaryWork = ThreadedWork("get and extract Qt 5 binary") - bldinstallercommon.add_qt_download(myGetQtBinaryWork, callerArguments.qt5_module_urls, - callerArguments.qt5path, tempPath, callerArguments) + myGetQtBinaryWork.addTaskObject(bldinstallercommon.create_qt_download_task(callerArguments.qt5_module_urls, + callerArguments.qt5path, tempPath, callerArguments)) myGetQtBinaryWork.run() # Save QT_INSTALL_PREFIX |