]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/build/build.py
BaseTools: Improve the file saving and copying reliability
[mirror_edk2.git] / BaseTools / Source / Python / build / build.py
index 299fa64311e69dca65894c4188777c32829491ab..2c10670a6910bb73adb7679959ecb4a5d43253be 100755 (executable)
@@ -820,13 +820,15 @@ class Build():
             file_lock = mp.Lock()\r
             error_event = mp.Event()\r
             GlobalData.file_lock = file_lock\r
+            cache_lock = mp.Lock()\r
+            GlobalData.cache_lock = cache_lock\r
             FfsCmd = DataPipe.Get("FfsCommand")\r
             if FfsCmd is None:\r
                 FfsCmd = {}\r
             GlobalData.FfsCmd = FfsCmd\r
             GlobalData.libConstPcd = DataPipe.Get("LibConstPcd")\r
             GlobalData.Refes = DataPipe.Get("REFS")\r
-            auto_workers = [AutoGenWorkerInProcess(mqueue,DataPipe.dump_file,feedback_q,file_lock,share_data,self.log_q,error_event) for _ in range(self.ThreadNumber)]\r
+            auto_workers = [AutoGenWorkerInProcess(mqueue,DataPipe.dump_file,feedback_q,file_lock,cache_lock,share_data,self.log_q,error_event) for _ in range(self.ThreadNumber)]\r
             self.AutoGenMgr = AutoGenManager(auto_workers,feedback_q,error_event)\r
             self.AutoGenMgr.start()\r
             for w in auto_workers:\r
@@ -1826,6 +1828,7 @@ class Build():
                     for PkgName in GlobalData.gPackageHash.keys():\r
                         GlobalData.gCacheIR[(PkgName, 'PackageHash')] = GlobalData.gPackageHash[PkgName]\r
                 GlobalData.file_lock = mp.Lock()\r
+                GlobalData.cache_lock = mp.Lock()\r
                 GlobalData.FfsCmd = CmdListDict\r
 \r
                 self.Progress.Stop("done!")\r